我有一个 node.js + express 应用程序,我用 npm 安装了 jQuery。
在app.js
我使用的文件中
var jquery = require('jquery');
在 html 文件头中,我包含了使用 jQuery 的 javascript,我得到“未定义 jQuery”。是秩序井然还是我错过了什么?
我有一个 node.js + express 应用程序,我用 npm 安装了 jQuery。
在app.js
我使用的文件中
var jquery = require('jquery');
在 html 文件头中,我包含了使用 jQuery 的 javascript,我得到“未定义 jQuery”。是秩序井然还是我错过了什么?
如果您希望快速应用程序提供 jquery npm 模块,则将此行添加到服务器脚本(在您的情况下app.js
):
app.use('/jquery', express.static(__dirname + '/node_modules/jquery/dist/'));
之后,您可以将其包含在您的 html 文件中:
<script src="/jquery/jquery.js"></script>
当您jQuery
使用npm
它进行安装是因为您想jQuery
在应用程序的服务器端使用(例如:在您的app.js
文件中)。您仍然需要jQuery
像这样添加到您的网页:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
如果你想在客户端使用它。如果您正在使用Jade
,请将脚本标签添加到您的模板中。
从 npm 使用 jquery 的方法:
在 app.js 中
app.use('/assets', [
express.static(__dirname + '/node_modules/jquery/dist/'),
express.static(__dirname + '/node_modules/materialize-css/dist/'),
...
]);
在布局模板中:
<script src="/assets/jquery.min.js"></script>
<script src="/assets/js/materialize.min.js"></script>
希望这段代码对你有帮助!
我正在使用快递 4.10.2。我跟着 Lukasz Wiktor 回答,但它对我不起作用。我不得不稍微改变一下 Lukasz 的解决方案:
app.use('/jquery', express.static(__dirname + '/node_modules/jquery/dist/'));
在 html 文件中,我还包括:
<script src="/jquery/jquery.js"></script>
所以 /jquery 是 /node_modules/jquery/dist/ 目录的挂载点。