Webpack 构建仅在 webpack.config.js 存在时失败



我已经搜索了这个,但没有找到解决方案。我是第一次使用 webpack,而不是通过 Vue 的 Laravel .js自动化工具为我设置的。Webpack 在没有 webpack.config 配置文件(零配置模式(的情况下在生产或开发模式下构建得很好.js但是当我添加 webpack.config.js 文件来设置 Babel 加载器时,会抛出一个非常无用的错误。我在Windows上,如果这会影响任何事情。

我的包.json:

{
"name": "portfolio_update",
"version": "1.0.0",
"description": "Port to Vue.js",
"main": "src/index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"build": "webpack --mode production",
"dev": "webpack --mode development",
"watch": "webpack --watch --mode production"
},
"author": "Jake Runge",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.7.0",
"webpack": "^4.12.0",
"webpack-cli": "^3.0.8"
},
"dependencies": {
"jquery": "^3.3.1"
}
}

webpack.config.js:

module.exports = {
module: {
rules: [{
test: /.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}]
}
}

无用的调试日志:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli   'C:\Users\jwrun\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'dev' ]
2 info using npm@5.8.0
3 info using node@v8.9.3
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle portfolio_update@1.0.0~predev: portfolio_update@1.0.0
6 info lifecycle portfolio_update@1.0.0~dev: portfolio_update@1.0.0
7 verbose lifecycle portfolio_update@1.0.0~dev: unsafe-perm in lifecycle true
8 verbose lifecycle portfolio_update@1.0.0~dev: PATH: C:UsersjwrunAppDataRoamingnpmnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin;C:Bitnamiwampstack-7.1.12-0apache2htdocsPortfolio_updatenode_modules.bin;C:Program Files (x86)InteliCLS Client;C:Program Files (x86)Common FilesIntelShared Librariesredistintel64compiler;C:Program FilesInteliCLS Client;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program Filesnodejs;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:Program FilesPuTTY;C:Bitnamiwampstack-7.1.12-0php;C:ProgramDataComposerSetupbin;C:HashiCorpVagrantbin;C:Program FilesGitcmd;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsIPT;C:Program FilesIntelIntel(R) Management Engine ComponentsIPT;C:WINDOWSSystem32OpenSSH;C:UsersjwrunAppDataLocalProgramsPythonPython36-32Scripts;C:UsersjwrunAppDataLocalProgramsPythonPython36-32;C:UsersjwrunAppDataLocalMicrosoftWindowsApps;C:UsersjwrunAppDataLocalGitHubDesktopbin;C:UsersjwrunAppDataRoamingnpm;C:UsersjwrunAppDataLocalMicrosoftWindowsApps;C:UsersjwrunAppDataRoamingComposervendorbin;C:Program FilesMicrosoft VS Codebin;C:Program FilesMongoDBServer3.6bin
9 verbose lifecycle portfolio_update@1.0.0~dev: CWD: C:Bitnamiwampstack-7.1.12-0apache2htdocsPortfolio_update
10 silly lifecycle portfolio_update@1.0.0~dev: Args: [ '/d /s /c', 'webpack --mode development' ]
11 silly lifecycle portfolio_update@1.0.0~dev: Returned: code: 1  signal: null
12 info lifecycle portfolio_update@1.0.0~dev: Failed to exec dev script
13 verbose stack Error: portfolio_update@1.0.0 dev: `webpack --mode development`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:UsersjwrunAppDataRoamingnpmnode_modulesnpmnode_modulesnpm-lifecycleindex.js:283:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (C:UsersjwrunAppDataRoamingnpmnode_modulesnpmnode_modulesnpm-lifecyclelibspawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid portfolio_update@1.0.0
15 verbose cwd C:Bitnamiwampstack-7.1.12-0apache2htdocsPortfolio_update
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Users\jwrun\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "dev"
18 verbose node v8.9.3
19 verbose npm  v5.8.0
20 error code ELIFECYCLE
21 error errno 1
22 error portfolio_update@1.0.0 dev: `webpack --mode development`
22 error Exit status 1
23 error Failed at the portfolio_update@1.0.0 dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

其他设置是标准的:有推荐的src/文件夹,其中包含索引.js入口点和一个dist/文件夹,用于接收捆绑的主.js文件。在我创建 webpack.config.js 文件之前,这一切都有效 - 即使是空白的,没有配置,我都会收到错误。该文件不存在,否则我收到错误。

感谢任何人都可以提供的任何帮助和指导!

终于,我想通了!我希望答案是复杂且难以实现的,因为我一直在这个问题上投入时间,但它就像更新我的 Node 和 NPM 版本一样简单。

我将 NPM 从 5.8.0 更新到 6.1.0;我将 Node 从 8.9.3 更新到最新的 10.4.1。Webpack 不需要在配置文件中指定的入口和输出设置。

这是相当不科学的,所以我不确定是节点升级还是 NPM 升级有所帮助,或者我是否可以更新到较新版本 - 但如果其他人遇到问题,请尝试更新的 Node 或 NPM 版本。

最新更新