2017-09-26 94 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做什麼?也許還有另一個適合你的圖書館 –

相關問題