Sim*_*max 15 node.js express pug
我开始尝试使用nodejs/expressjs/coffeescript和jade视图引擎.
我有以下设置,从我可以从周围的示例中看到的看起来非常标准.
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'
Run Code Online (Sandbox Code Playgroud)
我的目录结构如下:
-- ekmHoliCal
-- public
--javascripts
client.js
-- views
index.jade
layout.jade
Run Code Online (Sandbox Code Playgroud)
索引文件只包含行: 这是索引文件
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
Run Code Online (Sandbox Code Playgroud)
当我导航到localhost/ekmHoliCal/index时,我按预期为索引页面提供服务.但是,如果我查看源代码,我会看到指向jquery的链接:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js">
Run Code Online (Sandbox Code Playgroud)
如果我点击该链接肯定我看到了jquery文件的来源.
索引文件源还包含指向client.js文件的链接,如下所示:
<script type="text/javascript" src="/ekmholical/javascripts/simon.js"></script>
Run Code Online (Sandbox Code Playgroud)
但是当我点击它时,我得到了
无法获得/ekmholical/javascripts/client.js
我已经看到了这个相关的问题(Express-js无法获取我的静态文件,为什么?)并且无法看到我做错了什么
Pau*_*ong 27
您的脚本标记路径错误.它应该是
<script type="text/javascript" src="/javascripts/simon.js"></script>
Run Code Online (Sandbox Code Playgroud)
在快递中,您设置了以下内容:
app.use express.static(__dirname + '/public')
Run Code Online (Sandbox Code Playgroud)
这告诉express/node该public目录应该充当您的web根目录.其中的所有内容都可以通过引用/,所以如果你还有一个CSS文件夹,你可以使用/css/styles.css
按照保罗·阿姆斯特朗的说法,您也可以这样做。
app.use('/public', express.static(__dirname + '/public');
Run Code Online (Sandbox Code Playgroud)
这将允许您像这样引用您的js文件:
<script src="/public/javascripts/simon.js"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28352 次 |
| 最近记录: |