Webpack中未配置输出文件名错误

24

我通过运行npm install webpack -g全局安装了它,并通过运行npm install webpack --save-dev将其包含在我的项目中。

但是,在运行webpack命令时,我看到以下输出:Output filename not configured。

这是webpack配置:

output: {
    filename: 'bundle.js',
    library: 'require',
    libraryTarget: 'this'
},

这是我从网上找到的唯一线索:: http://anujnair.com/blog/12-output-filename-not-configured-error-from-webpack 但它没有解决问题

非常感谢任何帮助


1
你能添加你的webpack 配置吗? - Michelle Tilley
4
在我的情况下,我错误地输入了配置文件为wepack.config.js而不是webpack.config.js - Christopher Davies
像Michelle所说的那样:请包含您完整的webpack.config.js文件,以及文件名。我遇到这个错误的唯一情况是当我没有使用正确的文件名创建文件时。 - JESii
2
确保在文件末尾导出你的webpack配置。 - joemaller
1
很难说问题出在哪里,但请确保在运行webpack时您处于项目的根文件夹中。 - Wylliam Judd
17个回答

17

我遇到了同样的错误,结果发现是我的webpack配置文件名字问题。

我将文件名写成了"webpack.config"而不是"webpack.config.js"。

当出现"未配置输出文件名"错误时,通常是由于某个地方出现了拼写错误。我发现文件名是一个容易被忽略的地方。


27
我的情况是 module.export 有问题,应该使用 exports - Moti Winkler
2
多有趣啊,评论解决的问题比答案还多!哈哈哈 - Aman Gupta
愚蠢的错误:node_modules/.bin/webpack 而不是 node_modules\.bin\webpack - Greg Herbowicz

10

请确保webpack.config.js文件在正确的位置(通常是项目的根目录),并且配置文件中列出的路径是正确的。


那正是我的问题,谢谢你的建议! - Asdwq Qwksf
这也是我的问题! - SNYDERHAUS

10

这个错误的常见错误是打错字,大多数情况下是写成module.export而不是module.exports。还要检查文件名是否带有 .js 扩展名,例如webpack.config.js


这是全面的解决方案,而 module.export(缺少 's')是问题所在。 - Michal Frystacky

6
您需要在项目根目录下拥有一个名为webpack.config.js的文件。

2

你的webpack.config.js文件中有拼写错误。请检查你的配置文件。我曾经遇到过类似的问题,原因就是因为拼写错误。


2
尝试使用module.exports = config导出您的配置,其中config是JavaScript对象中的配置。在您的情况下,只需执行以下操作:
module.exports = {
  output: {
    filename: 'bundle.js',
    library: 'require',
    libraryTarget: 'this'
  }
}

如果这个方法不能解决你的问题,可以参考关于该问题的GitHub issue

1
我在遵循Webpack生产构建文档后遇到了这个问题。 我遇到问题的方式,我相信,是特定于webpack-merge。
这是他们在webpack.dev.js中的文档内容:
const merge = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common, {
  devtool: 'inline-source-map',
  devServer: {
    contentBase: './dist'
  }
});

但这就是我需要的:

const merge = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common(), {
  devtool: 'inline-source-map',
  devServer: {
    contentBase: './dist'
  }
});

请注意,唯一的更改是运行common()而不是common

1
如果你在没有webpack配置文件的目录下运行命令"webpack -w",也会出现此错误。因此,如果你在打开新的终端窗口或选项卡之前没有切换到项目的根目录就运行webpack命令,你将会收到这个错误。

0

当配置细节存在拼写错误时,我遇到了这个错误。

output: {
    path: "app/dist/assets",
    filname: "bundle.js",
    publicPath: "assets"
},

拼写错误的“文件名”。更正拼写后,此问题得到解决。


0

只是为了发布我的解决方案。也许能帮到别人。

如果你遇到这个错误,它总是与某些笔误有关。在我的情况下,我忘记在最后一个 }之后用分号结尾,就像这样:};

module.exports = {
    entry: './index.js',
    output: {
        filename:'bundle.js'
    }
};

这个有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接