javascript - TypeError : path. 替换不是函数

标签 javascript webpack

/node_modules/webpack/lib/TemplatedPathPlugin.js:72
        .replace(REGEXP_HASH, withHashLength(getReplacer(data.hash), data.hashWithLength))
         ^

我在运行 webpack 时遇到此错误 - path 似乎是一个对象而不是字符串,因此找不到替换方法。任何人都可以阐明这个错误吗?这是我的 webpack.config.js:

var webpack = require('webpack');
var path = require('path');

var basePath = 'app';
var outputFile = 'output.js';

var config = {

    entry: basePath + '/index.js',

    output: {
        path: basePath,
        filename: outputFile
    },

    resolve: {
        extensions: ['', '.js']
    },

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

module.exports = config;

最佳答案

检查您的插件配置。 Webpack 2 略微更改了 ExtractTextPlugin。它期望所有参数都包装在一个对象中,因此您的第一个参数现在是该对象上 filename 的值,而不是字符串。

Webpack 1 方式: new ExtractTextPlugin('[hash].css', {allChunks: true, disable: false}),

Webpack 2 方式: new ExtractTextPlugin({filename: '[hash].css', allChunks: true, disable: false}),

更多信息在 README

关于javascript - TypeError : path. 替换不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39642601/

相关文章:

javascript - 带有 Angular 2、D3 和 Vizuly 的第三方库

javascript - 在谷歌地图中使用数组居中并打开 InfoWindow

javascript - 在 var 字符串中添加 html?

javascript - 谷歌地图 API - "google is not defined"

vue.js - Storybook 6.x 和 Vue 2 在需要额外加载器时失败

Angular 7 SSR - NgZone 的问题

javascript - VueJS : Failed To Mount Component

typescript - Electron + typescript + 网页包 : Boilerplate Example

javascript - 使用命名函数设置多个事件响应

javascript - 不能将 jsplumb 与第二个功能一起使用