[英]“jQuery requires a window with a document” webpack 2 error
I bundled my node application with webpack2, I used JQuery with jade for my frontend. 我将节点应用程序与webpack2捆绑在一起,并且将JQuery和jade用作前端。 while run my application I am getting this error,
在运行我的应用程序时,出现此错误,
node_modules\jquery\dist\jquery.js:31
throw new Error( "jQuery requires a window with a document" );
^
Error: jQuery requires a window with a document
i used 我用了
var $ = require("jquery");
var $ = require(“ jquery”);
in all frontend javascript files. 在所有前端javascript文件中。
I tried with this these solutions , 我尝试了这些解决方案 ,
this to , 这个,
{
test: require.resolve('jquery'),
loader: 'expose?$!expose?jQuery'
},
how I can handle this problem? 我该如何解决这个问题?
webpack.config.js webpack.config.js
var path = require('path');
var nodeExternals = require('webpack-node-externals');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
target: 'node',
entry: {
app: ['babel-polyfill', './bin/run.js'],
},
output: {
path: './build',
filename: '[name].min.js'
},
externals: [nodeExternals()],
plugins: [
new HtmlWebpackPlugin()
],
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /lodash/
},
{
test: /\.jade$/,
loader: 'jade-loader'
},
{
test: /\.css$/,
use: [
{loader: 'style-loader'},
{
loader: 'css-loader',
options: {
modules: true
}
}
]
},
],
noParse: [/ws/]
}
};
jQuery is to be used on the frontend (browser) only. jQuery仅可用于前端(浏览器)。
It looks like you are trying to use it in Node itself to reference back to $
. 看来您正在尝试在Node本身中使用它来引用回
$
。
It's important to note that jQuery does not support server side rendering. 请务必注意,jQuery不支持服务器端渲染。
-> var $ = require("jquery");
->
var $ = require("jquery");
won't work.. 不会工作..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.