如何使用 webpack 在 nodejs 应用程序中包含 jquery?
Posted
技术标签:
【中文标题】如何使用 webpack 在 nodejs 应用程序中包含 jquery?【英文标题】:How to include jquery in nodejs app using webpack? 【发布时间】:2018-03-07 07:30:36 【问题描述】:这是我的 webpack.config.js
var webpack = require("webpack");
module.exports =
entry: './app.js',
output:
filename: './bundle.js'
,
module:
loaders: [
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
query:
presets: ['es2015']
],
,
plugins: [
new webpack.ProvidePlugin(
$: "jquery",
jQuery: "jquery"
)
]
;
这是我的 app.js
var $ = require('jquery');
global.jQuery = $;
global.$ = $;
require('jquery');
console.log('Hello from Webpack');
$('#serviceContainer').hide();
所以当我运行 node app.js 来启动我的 node 应用程序时,它需要 jquery 并且它会抛出以下错误。
throw new Error( "jQuery requires a window with a document" );
所以我需要知道如何使用 webpack 在 nodejs 中包含 jquery。如果有人知道请帮忙。在此先感谢!
【问题讨论】:
为什么在nodejs应用中需要jquery? Nodejs 在后端运行,而 jquery 在前端运行。您收到此错误,因为它无法检测到任何窗口,即浏览器窗口 【参考方案1】:jQuery 在全局上下文(窗口)中
var $ = require('jquery');
window.jQuery = $;
window.$ = $;
提供者插件
new webpack.ProvidePlugin(
'$': 'jquery',
'jQuery': 'jquery',
)
【讨论】:
【参考方案2】:使用 nodejs,您可以创建 Web 应用程序的服务器端,而 jquery 是一个 JS 库,它允许您操作网页客户端的 DOM,因此 jquery 必须在您的 html 页面上使用。在服务器端,您必须创建一个简单的 http 服务器,向客户端发送正确的 html 页面。
【讨论】:
正确。你想用 jquery 做什么?也许还有另一个适合你的图书馆以上是关于如何使用 webpack 在 nodejs 应用程序中包含 jquery?的主要内容,如果未能解决你的问题,请参考以下文章
在heroku上部署Nodejs+Express+React+Webpack应用
如何使用 Webpack 捆绑 Express Js (NodeJs) 和 Pug 引擎?
如何管理 Webpack/Electron 应用程序的配置?