【发布时间】:2017-08-29 18:48:21
【问题描述】:
我将我的 node 应用程序与 webpack2 捆绑在一起,我使用 JQuery 和 jam 作为我的前端。在运行我的应用程序时出现此错误,
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 文件中。
我试过这些solutions,
这个到,
{
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/]
}
};
【问题讨论】:
-
感谢您的回复,我通过npm安装了jquery,并使用
app.use(express.static("node_modules/jquery/dist"));将jquery传递给客户端,在从webpack收到一些错误后,我使用了这个声明。如果我删除了这个我会收到这个错误$(function () { ^ ReferenceError: $ is not defined@danjonescidtrix
标签: javascript jquery node.js webpack webpack-2