编译失败。 webpack 不是函数

Posted

技术标签:

【中文标题】编译失败。 webpack 不是函数【英文标题】:Failed to compile. webpack is not a function 【发布时间】:2019-08-04 00:29:36 【问题描述】:

我的项目运行良好,但安装 react-redux 和 redux 后我无法启动项目,它显示此错误

编译失败。

webpack 不是函数

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! project@0.1.0 start: `node scripts/start.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the project@0.1.0 start script.

npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。

The screenshot of error in ternimal

【问题讨论】:

你是全局还是本地安装了Webpack? 如果可能的话,展示你的 start.js 代码会很有帮助 我在这个 Plnkr 中创建了一个 start.js 文件,请看一下。 plnkr.co/edit/EbQDizLIzOzJJ3rML0DU?p=preview @James 我已经在本地安装了它,但我尝试全局安装它显示了这个错误npm WARN registry Unexpected warning for http://registry.npmjs.org/: Miscellaneous Warning ECONNABORTED: request to http://registry.npmjs.org/acorn failed, reason: connect ECONNABORTED 104.16.20.35:80 npm WARN registry Using stale package data from http://registry.npmjs.org/ due to a request error during revalidation. npm ERR! code ECONNABORTED npm ERR! errno ECONNABORTED npm ERR! request to http://registry.npmjs.org/@webassemblyjs%2fwasm-edit failed, reason: connect ECONNABORTED 104.16.20.35:80 @GulzarYousaf 看起来您正在尝试通过不安全的连接 (http) 进行连接,您需要检查您的 npm 设置。但是,本地很好,您可以发布您的 package.json 吗? 【参考方案1】:

简单的 npm install 命令对我有用

【讨论】:

【参考方案2】:

在升级我的所有节点模块(包括 react 和 redux,但特别是 react-dev-utils 到 v8.0.0)后,我遇到了同样症状的问题。 createCompiler() 函数已更改为期望一个对象而不是多个参数(我想这将在未来提供更大的灵活性)。

我将 start.js 更改为:

const compiler = createCompiler(webpack, config, appName, urls, useYarn);

到:

const compiler = createCompiler( webpack, config, appName, urls, useYarn );

【讨论】:

工作就像一个魅力 - 感谢分享解决方案! 遇到了完全相同的问题。我想知道是什么原因造成的,甚至检查了以前的构建,想知道是否需要恢复最后一个已知版本的任何依赖项更新。你的简单修复就像一个魅力。 OP,我会将此作为公认的答案。 对我不起作用。 "react-dev-utils": "^9.0.1"。有什么建议吗? @Akhilesh 这是因为最后一个布尔参数或两个布尔参数,我的情况是这样的:const compiler = createCompiler( webpack, config, appName, urls, false, false ); 要么删除它们,要么确保你像 useYarn: false 一样传递它们...或者使用与此答案 useYarnuseTypeScript 中具有相同名称的变量。 不幸的是,这对我不起作用。做出此答案中建议的更改后,我收到了TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

以上是关于编译失败。 webpack 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Webpack - TypeError:$ 不是函数

webpack.optimize.ModuleConcatenationPlugin 不是构造函数

Webpack 在编译 typescript 代码失败时会导致 gulp watch 崩溃

.tsx webpack 编译失败:Unexpected token <

Reactjs - Webpack编译错误:模块构建失败

Webpack 模块构建失败不是有效的 CSS 值