webpack未定义 - gulp - 但是已定义

时间:2018-02-08 15:37:36

标签: javascript webpack gulp referenceerror gulp-webpack

我正在使用Gulp和webpack,我在gulpfile.js中导入了webpackwebpack-stream但由于某种原因,控制台显示webpack is not defined

我的gulp导入是正确的:

var webpack = require('webpack');
var webpackStream = require('webpack-stream');

我应该编译的任务

gulp.task('webpack', function() {
    return gulp.src(paths.srcClient)
        .pipe(webpackStream(require('./webpack.config.js'), webpack))
        .pipe(gulp.dest(paths.buildJs));

我的webpack配置如果需要

module.exports = {
    entry: './src/client.js',

    output: {
        path: __dirname + '/build/assets/js',
        filename: '[name].js'
    },

    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: '/node_modules/',
                query: {
                    cacheDirectory: true,
                    presets: ['es2015']
                }
            }
        ]
    },

    plugins: [
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: false
            }
        })
    ]
};

输出中的错误:

Starting 'webpack'...
[16:29:38] 'webpack' errored after 2.24 ms
[16:29:38] ReferenceError: webpack is not defined
    at Object.<anonymous> (/home/k3nzie/projects/jsGame/webpack.config.js:25:13)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Gulp.<anonymous> (/home/k3nzie/projects/jsGame/gulpfile.js:28:29)
    at module.exports (/home/k3nzie/projects/jsGame/node_modules/orchestrator/lib/runTask.js:34:7)

有什么建议吗?我最近因为webpack而疯了......

2 个答案:

答案 0 :(得分:0)

你是如何安装webpack的?确保您运行“npm install webpack”或“npm install webpack -g”(用于全局系统安装)

答案 1 :(得分:0)

webpack未在配置文件中定义。

在webpack.config.js的顶部,实现:

var UglifyJsPlugin = require('uglifyjs-webpack-plugin')

在webpack.config.js的插件行中:

plugins: [
    new UglifyJsPlugin({
        compress: {
            warnings: false
        }
    })
]