gpt4 book ai didi

node.js - 为什么我无法从 Expressjs/Nodejs 访问我的 javascript 文件?

转载 作者:IT老高 更新时间:2023-10-28 23:02:32 25 4
gpt4 key购买 nike

我开始尝试使用 nodejs/expressjs/coffeescript 和 Jade View 引擎。

我有以下设置,从周围的示例中可以看出,这似乎很标准。

    app = express.createServer().listen process.env.PORT

app.configure ->
app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
app.set 'view options', layout: true
app.use express.bodyParser()
app.use express.static(__dirname + '/public')
app.use app.router


app.get '/ekmHoliCal/index', (req, res) ->
res.render 'index'

我的目录结构如下:

-- ekmHoliCal
-- public
--javascripts
client.js
-- views
index.jade
layout.jade

索引文件只包含以下行: 这是索引文件

layout.jade 文件包含:

!!! 5
html(lang="en")
head
title Users
script(type="text/javascript", src="http://code.jquery.com/jquery-1.6.4.js")
script(type="text/javascript", src="/ekmholical/javascripts/client.js")
body
div!= body

当我导航到 localhost/ekmHoliCal/index 时,我得到了预期的索引页面。但是,如果我查看源代码,我会看到指向 jquery 的链接:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js">

如果我点击该链接,我会看到 jquery 文件的来源。

索引文件源还包含指向我的 client.js 文件的链接,如下所示:

<script type="text/javascript" src="/ekmholical/javascripts/simon.js"></script>

但是当我点击它时,我得到了

无法获取/ekmholical/javascripts/client.js

我已经看到了这个相关的问题 (Express-js can't GET my static files, why?),但看不出我做错了什么

最佳答案

您的脚本标签路径错误。应该是

<script type="text/javascript" src="/javascripts/simon.js"></script>

在 express 中,您设置了以下内容:

app.use express.static(__dirname + '/public')

这告诉 express/node public 目录应该作为你的 web 根目录。里面的所有东西都可以通过/引用,所以如果你也有一个CSS文件夹,你可以使用/css/styles.css

关于node.js - 为什么我无法从 Expressjs/Nodejs 访问我的 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com