如何使用webpack在nodejs应用程序中包含jquery?

时间:2017-09-26 07:30:42

标签: jquery node.js webpack webpack-2

这是我的webpack.config.js

var webpack = require("webpack");

module.exports = {
    entry: './app.js',
    output: {
        filename: './bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015']
                }
            }
        ],
    },
    plugins: [
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery"
        })
    ]
};

这是我的app.js

var $ = require('jquery');
global.jQuery = $;
global.$ = $;
require('jquery');
console.log('Hello from Webpack');
$('#serviceContainer').hide();

因此,当我运行节点app.js来启动我的节点应用程序时,它需要jquery并且它会抛出以下错误。

 throw new Error( "jQuery requires a window with a document" );

所以我需要知道如何使用webpack在nodejs中包含jquery。如果有人知道请帮忙。谢谢!

2 个答案:

答案 0 :(得分:0)

jQuery位于全局上下文(窗口)

var $ = require('jquery');
window.jQuery = $;
window.$ = $;

ProviderPlugin

new webpack.ProvidePlugin({
        '$': 'jquery',
        'jQuery': 'jquery',
    })

答案 1 :(得分:0)

使用nodejs,您可以创建Web应用程序的服务器端,而jquery是一个JS库,允许您操作网页客户端的DOM,因此必须在HTML页面上使用jquery。相反,在服务器端,您必须创建一个简单的http服务器,向客户端发送正确的html页面。