2015-09-27 72 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" }, 
    ] 
} 
相关问题