2015-09-27 69 views
1

你好我正在嘗試webpack。 我已經做了一個捆綁和一個供應商捆綁。 在供應商捆綁我現在只有jquery。未定義Webpack庫

當試圖在我的包中調用jquery時,一切正常。 但是II使一個腳本標記頭內,並嘗試調用它,它說「$沒有定義」另外,如果我嘗試用「jQuery的」

Webpack.config.js

var webpack = require('webpack'); 
 
var autoprefixer = require('autoprefixer'); 
 
var precss = require('precss'); 
 
var rucksackCss = require('rucksack-css'); 
 
var BrowserSyncPlugin = require('browser-sync-webpack-plugin'); 
 
// var node_modules_dir = path.resolve(__dirname, 'node_modules'); 
 

 
module.exports = { 
 
    entry: { 
 
     app: "./src/bundle.js", 
 
     vendor: ['jquery', 'gsap'] 
 
    }, 
 
    output: { 
 
     path: __dirname + '/dist', 
 
     filename: "bundle.js" 
 
    }, 
 
    module: { 
 
     loaders: [ 
 
      { 
 
       test: /\.css$/, 
 
       loader: "style-loader!css-loader!postcss-loader" 
 
      } 
 
     ] 
 
    }, 
 
    plugins: [ 
 
     new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.js"), 
 
     new BrowserSyncPlugin({ 
 
      host: 'localhost', 
 
      port: 3000, 
 
      proxy: "mod.dev", 
 
      files: ["dist/*js", './**/*.php'] 
 
      // server: { baseDir: ['public'] } 
 
     }), 
 
     new webpack.ProvidePlugin({ 
 
      $: "jquery", 
 
      jQuery: "jquery" 
 
     }) 
 
    ], 
 
    postcss: function() { 
 
     return [autoprefixer, precss, rucksackCss]; 
 
    } 
 
};

我在想什麼?

回答

0

我認爲你需要公開的jQuery所以它是可以使用expose-loader的窗口:

module: { 
    loaders: [ 
    { test: require.resolve("jquery"), loader: "expose?$!expose?jQuery" }, 
    ] 
} 
相關問題