搜尋

首頁  >  問答  >  主體

Vue 3 - 如何將 Polyfill 新增至 ChainWebpack

使用 Vue 3,如何將 path-browserify 加入 vue.config.js?

module.exports = {
    chainWebpack: config => {}
}

編譯時出現以下錯誤:

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }

P粉268654873P粉268654873293 天前653

全部回覆(2)我來回復

  • P粉797004644

    P粉7970046442024-03-26 11:09:18

    Webpack 5 刪除了 Webpack 4 套件中包含的一些內容。

    要將其全部還原到 vue3 應用程式中,您可以使用 polyfill 外掛程式。 來自帶有 babel 的普通 create-vue-app:

    > npm i node-polyfill-webpack-plugin

    babel.config.js

    module.exports = {
      presets: [
        '@vue/cli-plugin-babel/preset'
      ]
    }

    vue.config.js

    const { defineConfig } = require("@vue/cli-service");
    const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
    module.exports = defineConfig({
      transpileDependencies: true,
      configureWebpack: {
        plugins: [new NodePolyfillPlugin()],
        optimization: {
          splitChunks: {
            chunks: "all",
          },
        },
      },
    });

    回覆
    0
  • P粉899950720

    P粉8999507202024-03-26 09:06:38

    在@Zack的幫助下,使用chainWebpack

    const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
    
    module.exports = {
        chainWebpack: config => {
            config.plugin('polyfills').use(NodePolyfillPlugin)
        },
    }

    回覆
    0
  • 取消回覆