DeprecationWarning: Tapable.el plugin está en desuso. Uso de la nueva API en `.ganchos » en lugar

He intentado ejecutar el Vuetify VueJS Córdoba ejemplo pero tengo este error después de npm run dev

nodo build/dev-server.js

De partida dev server… (nodo:1024) DeprecationWarning: Tapable.el plugin está en desuso. Uso de la nueva API en .hooks lugar
(nodo:1024) DeprecationWarning: Tapable.aplicar está en desuso. Llame
aplicar sobre el plugin directamente en lugar

Cómo solucionarlo?
Yo ya actualice todos los paquetes NPM, no ayuda.

InformationsquelleAutor Tom | 2018-04-20

6 Kommentare

  1. 18

    La obsolescencia mensaje:

    DeprecationWarning: Tapable.aplicar está en desuso. Llame a aplicar en el
    plugin directamente en lugar

    DeprecationWarning: Tapable.el plugin está en desuso. Uso de la nueva API en
    .hooks lugar

    Es sólo una advertencia:

    Aquí está un resumen rápido de todo el mundo con este mensaje.

    Lo que es este mensaje?

    webpack 4 está utilizando un nuevo sistema de plugins y deja de usar la anterior Api. Hay 2 nuevas advertencias:

    DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
    DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
    

    Estas son advertencias. Que se imprima en la consola de advertir a nuestros usuarios que están usando una obsoleta de la API y deben migrar a la
    lo más reciente.

    Cómo mal son estas advertencias?

    Son sólo una información textual, no errores. Si usted ve un DeprecationWarning se puede ignorar
    hasta que usted tiene que actualizar a la siguiente versión principal de webpack.

    Así que no hay nada de lo que tiene o debe hacer al respecto.


    Aparte de eso, estoy seguro de que usted está recibiendo un error como este:

    /tmp/my-project> npm run dev
    
    > [email protected] 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! [email protected] dev: `node build/dev-server.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] dev script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    

    Usted debe actualizar su html-webpack-plugin a la la última versión:

    npm install --save-dev [email protected]
    

    Y el error debe desaparecer.

    • Nota: he creado un PR en su repo para solucionar este así: github.com/vuetifyjs/cordova/pull/18
    • También este error aparece después de que se npm run android : throw new Error( ^ Error: variable Path [contenthash] no se aplica en este contexto: css/[nombre].[contenthash].css he actualizado todos los paquetes incl. Webpack y «mini-css-extracto-plugin» pero no me soluciona el error. Alguna idea?
    • Soy incapaz de probar con android, pero ha habido algunos avances: El PR ha sido aceptado y parece que los otros problemas (si no se corrige ya) tienen soluciones — véase la discusión github.com/vuetifyjs/cordova/issues/19.
    • Gracias, yo tengo que trabajar ahora. Es posible compilar la aplicación para Android .apk directamente desde la consola o tengo que ir un paso adicional con Android Studio?
    • Honestamente, no he desarrollado para android (sé mecanismo nacional de prevención, aunque). Pero parece que usted podría utilizar el cordova cliente, tales como cordova build para obtener el apk.
  2. 14

    Hay varios plugins que podría estar causando esta advertencia en Webpack 4, ya que se sigue utilizando el antiguo plugin API, que necesitan ser actualizados a la última versión. Para encontrar el plugin(s) es la causa de la advertencia, hay que poner esto en la parte superior de su webpack archivo de configuración:

    process.traceDeprecation = true

    Usted va a ver un detallado seguimiento de la pila como este:

     (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
    

    Que en este caso significa friendly-errors-webpack-plugin es el responsable de la advertencia.

    Alternativamente, usted puede ejecutar su nodo proceso de adición de la --trace-deprecation bandera.

    Después de encontrar el plugin que está causando el aviso de actualización utilizando el paquete pesebre, y la advertencia debe desaparecer:

    yarn upgrade friendly-errors-webpack-plugin

    Si desea suprimir totalmente en desuso advertencias como esta (NO RECOMENDADO), el uso de process.noDeprecation = true

    Esto funcionó para mí para encontrar rápidamente el problema, espero te sirva de ayuda a los demás.

  3. 0

    Me encontré con este problema cuando intento ejecutar webpack-dev-servidor de dos veces, uno se ejecuta en un terminal, otro, he intentado ejecutar en un terminal diferente. La ejecución sólo uno resuelto el problema.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea