简体   繁体   English

“ jQuery需要带有文档的窗口” Webpack 2错误

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

相关问题 操作 jQuery 得到一个错误:“jQuery 需要一个窗口和一个文档” - Manipulating jQuery to get an error: "jQuery requires a window and a document" Browserify with jQuery> = 2产生“jQuery需要一个带文档的窗口” - Browserify with jQuery >= 2 produces “jQuery requires a window with a document” 如何使用导入解决“ jQuery需要带有文档的窗口” - How to resolve “jQuery requires a window with a document” with import 错误:jQuery需要一个window带证件。 使用ejs和javascript创建刽子手web app - Error : jQuery requires a window with a document. Using ejs and javascript to create a hangman web app 错误:Bootstrap 的 JavaScript 需要 jQuery,使用 Webpack - Error: Bootstrap's JavaScript requires jQuery, using Webpack 茉莉花-错误:茉莉花固定装置需要在window.jQuery或window。$中定义jQuery。 - Jasmine - Error: jasmine-fixture requires jQuery to be defined at window.jQuery or window.$ Webpack bundle - Bootstrap的JavaScript需要jQuery - Webpack bundle - Bootstrap's JavaScript requires jQuery 引导JavaScript需要jQuery错误 - bootstrap javascript requires jquery error jQuery具有窗口或文档的多个选择器 - jQuery multiple selectors with window or document jQuery中窗口和文档之间的区别 - difference between window and document in jQuery
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM