似乎很疯狂,这并不像它应该的那样容易。
我的文件结构:
node_modules/
public/
-- css/
-- js/
-- index.html
在index.html
中,我尝试在node_module
中加载文件,如下所示:
<script src="../node_modules/angular-ui-sortable/src/sortable.js"></script>
但是,这不起作用。我的错误:
SyntaxError: Unexpected Token '<'
我检查资源,sortable.js
正在加载index.html
的内容。当找不到指定的javascript文件时,我已经看到了这个问题。
这只是nodeJS的一个难题吗?简单地将javascript文件加载到html中是否需要一些黑魔法?
答案 0 :(得分:1)
我怀疑你正在做这样的事情:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public');
哪会产生你看到的那种结果。建议修复:
添加
app.use(express.static(__dirname + '/node_modules');
并将网址更改为
<script src="/node_modules/angular-ui-sortable/src/sortable.js"></script>
答案 1 :(得分:0)
我试了一下,这个修复对我有用:
在节点中的app.js中添加以下内容:
app.use('/node_modules',express.static(path.join(__dirname , 'node_modules')));
并在index.html中添加:
<script src="node_modules/<packagename>/<filename>.js"></script>
如果您担心从node_models文件夹导入不需要的软件包,您可以指定到所需软件包的特定文件夹的路由。希望这会有所帮助。