![](/img/trans.png)
[英]Manipulating jQuery to get an error: "jQuery requires a window and a document"
[英]“jQuery requires a window with a document” webpack 2 error
我将节点应用程序与webpack2捆绑在一起,并且将JQuery和jade用作前端。 在运行我的应用程序时,出现此错误,
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
我用了
var $ = require(“ jquery”);
在所有前端javascript文件中。
我尝试了这些解决方案 ,
这个,
{
test: require.resolve('jquery'),
loader: 'expose?$!expose?jQuery'
},
我该如何解决这个问题?
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仅可用于前端(浏览器)。
看来您正在尝试在Node本身中使用它来引用回$
。
请务必注意,jQuery不支持服务器端渲染。
-> var $ = require("jquery");
不会工作..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.