簡體   English   中英

“ jQuery需要帶有文檔的窗口” Webpack 2錯誤

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM