我的观看次数中有一个index.jade'文件夹中。
doctype html
html
head
title= title
link(rel='stylesheet', href='/stylesheets/main.css')
script(src='../node_modules/some_package/package_script.min.js')
我的路线文件夹中有一个带路由器的index.js:
router.get('/', function(req, res) {
res.render('index', { title: 'title goes here' })
});
当我尝试访问控制台中jade文件中的node_modules文件夹时,我一直收到404错误:
GET /node_modules/some_package/package_script.min.js 404 1ms - 19b
当我尝试访问node_modules中的脚本时,文件路径的确切工作方式/如何为Express修复它?我是否需要复制必要的javascript文件并将其放在' javascripts'公共'公共'它的工作?
谢谢!
答案 0 :(得分:17)
哇!等待... node_modules
是一个私人目录,不应公开。默认情况下,public
目录是静态文件的公共根路径:
app.use(express.static(path.join(__dirname, 'public')));
有一个javascripts
目录。将您的脚本复制到那里并将模板中的src
属性更改为:
/javascripts/package_script.min.js
如果您真的想提供node_modules
,这不是一个好主意,请在上面的app.use(express.static(...));
行下添加以下内容:
app.use(express.static(path.join(__dirname, 'node_modules')));