ExpressJS在node_modules中的脚本path
我在我的'views'文件夹中有一个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
文件path究竟如何工作/当我试图访问node_modules中的脚本时,如何修复它? 我是否需要复制必要的JavaScript文件,并将它们置于“公共”下的“javascripts”文件夹中以便其正常工作?
谢谢!
哇! 坚持… node_modules
是一个私人目录,不应该公开。 默认情况下, public
目录是静态文件的公共根path:
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')));