我试图运行验证VueJS Cordova示例,但在npm run dev
之后得到了这个错误
节点构建/dev-server.js 启动开发服务器..。(节点:1024)不推荐DeprecationWarning: Tapable.plugin。在
.hooks
上使用新的API代替(节点:1024) DeprecationWarning: Tapable.apply是不推荐的。直接调用插件
怎么修呢?我已经更新了所有的NPM软件包,没有帮助。
发布于 2018-04-22 22:44:48
反对信息:
DeprecationWarning:不推荐Tapable.apply。直接调用插件 DeprecationWarning:不推荐Tapable.plugin。在
.hooks
上使用新API代替
以下是每个遇到这条消息的人的简短摘要。 这是什么信息? webpack 4正在使用一个新的插件系统,不再支持以前的API。有两个新的警告: DeprecationWarning:不推荐Tapable.apply。直接在插件上调用apply,而不是DeprecationWarning:不推荐使用Tapable.plugin。在
.hooks
上使用新API代替 --这些都是警告。将输出到控制台,以警告我们的用户他们使用的是过时的API,应该迁移到最新的API。 这些警告有多糟糕? 它们只是文本信息,而不是错误。如果你看到一个DeprecationWarning
,你可以忽略它,直到你不得不更新到webpack的下一个主要版本。
所以你对此没有什么可做的。
除此之外,我相信你收到的错误如下:
/tmp/my-project> npm run dev
> my-project2@1.0.0 dev /tmp/my-project/my-project
> node build/dev-server.js
> Starting dev server...
(node:29408) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
(node:29408) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
/tmp/my-project/node_modules/html-webpack-plugin/lib/compiler.js:81
var outputName = compilation.mainTemplate.applyPluginsWaterfall('asset-path', outputOptions.filename, {
^
TypeError: compilation.mainTemplate.applyPluginsWaterfall is not a function
at /tmp/my-project/node_modules/html-webpack-plugin/lib/compiler.js:81:51
at compile (/tmp/my-project/node_modules/webpack/lib/Compiler.js:242:11)
at hooks.afterCompile.callAsync.err (/tmp/my-project/node_modules/webpack/lib/Compiler.js:487:14)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/tmp/my-project/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:15:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/tmp/my-project/node_modules/tapable/lib/Hook.js:35:21)
at compilation.seal.err (/tmp/my-project/node_modules/webpack/lib/Compiler.js:484:30)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/tmp/my-project/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/tmp/my-project/node_modules/tapable/lib/Hook.js:35:21)
at hooks.optimizeAssets.callAsync.err (/tmp/my-project/node_modules/webpack/lib/Compilation.js:966:35)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/tmp/my-project/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/tmp/my-project/node_modules/tapable/lib/Hook.js:35:21)
at hooks.optimizeChunkAssets.callAsync.err (/tmp/my-project/node_modules/webpack/lib/Compilation.js:957:32)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/tmp/my-project/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/tmp/my-project/node_modules/tapable/lib/Hook.js:35:21)
at hooks.additionalAssets.callAsync.err (/tmp/my-project/node_modules/webpack/lib/Compilation.js:952:36)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/tmp/my-project/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:6:1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! my-project@1.0.0 dev: `node build/dev-server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the my-project@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
您应该将您的html-webpack-plugin
更新为最新版本
npm install --save-dev html-webpack-plugin@3
错误就会消失。
发布于 2018-07-25 15:11:08
有几个插件可能导致Webpack 4或更高版本的警告,因为他们仍然在使用旧的插件API,他们需要升级。若要查找引起警告的插件,请将其放在webpack配置文件的顶部:
process.traceDeprecation = true
您将看到如下所示的详细堆栈跟踪:
(node:10213) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
at FriendlyErrorsWebpackPlugin.apply (./node_modules/friendly-errors-webpack-plugin/src/friendly-errors-plugin.js:39:14)
at webpack (./node_modules/webpack/lib/webpack.js:37:12)
at processOptions (./node_modules/webpack-cli/bin/webpack.js:436:16)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:160:7)
at Function.Module.runMain (module.js:703:11)
at startup (bootstrap_node.js:193:16)
at bootstrap_node.js:617:3
在这种情况下,它意味着friendly-errors-webpack-plugin
负责警告。
或者,您可以运行节点进程,添加--trace-deprecation
标志。
在您发现是哪个插件导致警告之后,使用软件包管理器升级它,并且警告应该消失:
npm update friendly-errors-webpack-plugin
如果您不打算完全禁止类似此警告(不建议使用),请使用process.noDeprecation = true
发布于 2018-10-23 05:22:09
我也面临着同样的问题。使用以下命令解析:
npm安装-webpack-plugin@next
NPM 6.4.1
Node 10.9.0
Webpack 4.22.0
https://stackoverflow.com/questions/49942558
复制相似问题