在html中添加一个node_module作为javascript src

时间:2014-12-04 16:29:24

标签: javascript html node.js

似乎很疯狂,这并不像它应该的那样容易。

我的文件结构:

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中是否需要一些黑魔法?

2 个答案:

答案 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文件夹导入不需要的软件包,您可以指定到所需软件包的特定文件夹的路由。希望这会有所帮助。