2016-08-12 82 views
0

我有一个问题,我包括一个jQuery插件(jquery.jplayer.js)和webpack正在加载该插件的依赖关系在同一个文件中,在这种情况下它是jQuery。我想通过CDN提供jQuery,所以显然我不希望jQuery在本地加载。我已经缩小到这行代码define(['jquery'], factory); // jQuery Switchwebpack不加载依赖关系

如何告诉webpack不包含它在.js文件中找到的依赖关系?

var debug = process.env.NODE_ENV !== "production"; 
var webpack = require("webpack"); 
var path = require("path"); 

module.exports = { 
    context: __dirname, 
    devtool: debug ? "inline-sourcemap" : null, 
    entry: { 
     app: "./wwwroot/js/app.js", 
     lib: "./wwwroot/lib/jPlayer/dist/jplayer/jquery.jplayer.js" 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /(node_modules|bower_components)/, 
       loader: "babel-loader", 
       query: { 
        presets: ["react", "es2015", "stage-0"], 
        plugins: ["react-html-attrs", "transform-class-properties", "transform-decorators-legacy"], 
       } 
      } 
     ] 
    }, 
    output: { 
     path: "./wwwroot/build/", 
     filename: "[name].js" 
    }, 
    plugins: debug ? [] : [ 
     new webpack.optimize.DedupePlugin(), 
     new webpack.optimize.OccurenceOrderPlugin(), 
     new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }) 
    ] 
}; 

回答

1

此代码排除jQuery的被捆绑:

externals: { 
    "jquery": "jQuery" 
}, 
0

你可以使用的WebPack提供插件

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