我的“视图”文件夹中有一个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')
我的路由器的routes文件夹中有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
GET /node_modules/some_package/package_script.min.js 404 1ms - 19b
尝试访问node_modules中的脚本时,文件路径到底如何工作/如何为Express修复它?我是否需要复制必要的javascript文件并将其放置在“ public”下的“ javascripts”文件夹下才能正常工作?
谢谢!
哇!保留… node_modules是一个私有目录,不应公开。默认情况下,该public目录是静态文件的公共根路径:
node_modules
public
app.use(express.static(path.join(__dirname, 'public')));
在其中有一个javascripts目录。将脚本复制到此处,然后src将模板中的属性更改为:
javascripts
src
/javascripts/package_script.min.js
如果您真的想服务node_modules,这不是一个好主意,请在上方app.use(express.static(...));一行下面添加以下内容:
app.use(express.static(...));
app.use(express.static(path.join(__dirname, 'node_modules')));