Vue chainWebpack中的config.plugin(name)这个name是从哪里定义的?

发布于 2022-09-13 00:00:33 字数 544 浏览 48 评论 0

比如我想操作webpack的definePlugin注入环境变量。我在网上搜到的是通过在vue.config.js中

 module.exports = {
  chainWebpack: (config) => {
   config.plugin('define').tap(options => {
    options[0]['process.env'].VUE_APP_API_BASE_URL = `"${specifiedUrl}"`
    return options
    })
  }
}

这个'define'到底是从哪来的、哪里定义的?

6.3更新。

我把config打印了一下发现在config中的plugins内置了一些对插件的缩写如下
image.png

请问这些内置的插件是Vue CLI的源码内置的还是webpack chain源码内置的呢。求告知一下在哪里

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

停滞 2022-09-20 00:00:33

自答,找到定义的地方了
node_modules/@vue/cli-service/lib/config/base.js中,vue cli注入了一些webpack自带的插件并为其取了缩写名,比如

webpackConfig
  .plugin('define')
    .use(require('webpack').DefinePlugin, [
      resolveClientEnv(options)
    ])
 webpackConfig
   .plugin('case-sensitive-paths')
      .use(require('case-sensitive-paths-webpack-plugin'))

但是这种缩写名称好像文档并没有提及到?不知道有没有老哥清楚。。

Saygoodbye 2022-09-20 00:00:33

还有一个问题,既然你都看源码了,为何不使用vue-cli@3提供的.env文件来注入环境变量.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文