5

後、メインファイルnpm install jquery-migrateだけでできました。これはうまくいきます:require('jquery-migrate');scripts.js

console.log(jQuery.migrateVersion); // JQMIGRATE: Migrate is installed with logging active, version 3.0.0

ここで、jquery-migrate が製品版に存在しないように設定したいと思います。

webpack.config.js:

var dev = process.env.NODE_ENV !== 'prod';
var webpack = require('webpack');
var dist = '/dist/js';

module.exports = {
    context: __dirname,
    entry: __dirname + '/src/js/scripts.js',
    output: {
        path: __dirname + dist,
        filename: 'scripts.js'
    },
    resolve: {
        alias: {
            'jquery': 'jquery/src/jquery',
            'jquery-migrate': 'jquery-migrate'
        }
    },
    plugins: dev ? [
        new webpack.ProvidePlugin({
            '$': 'jquery',
            'jQuery': 'jquery',
            'jquery-migrate': 'jquery-migrate'
        })
    ] : [
        new webpack.optimize.DedupePlugin(),
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
        new webpack.ProvidePlugin({
            '$': 'jquery',
            'jQuery': 'jquery'
        })
    ]
};

これは機能していません:

console.log(jQuery.migrateVersion); // Undefined

webpack.config から jquery-migrate をロードするにはどうすればよいですか?

4

3 に答える 3

1

index.htmlファイルにインライン化する場合。ある種の環境変数を使用して、スクリプトを表示するかどうかを設定できますhtml-webpack-plugin。このプラグインは、使用できる動的テンプレートをサポートしています。

ドキュメントはよく書かれているので、一読することをお勧めします!

于 2016-06-10T15:38:31.373 に答える