2017-09-26 60 views
2

这是我webpack.config.js如何使用webpack将jquery包含在nodejs应用程序中?

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。如果有人知道请help.Thanks提前!

+1

为什么你需要在jQuery中的nodejs应用程序? Nodejs在jquery在前端运行的后端运行。你得到这个错误,因为它不能检测到任何窗口,即浏览器窗口 –

回答

0

jQuery的是在全球范围内(窗口)

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

ProviderPlugin

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

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

+0

所以我不能在nodejs中做对吗? –

+0

正确。你想用jQuery做什么?也许还有另一个适合你的图书馆 –

相关问题