![](/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.