详解vue.config.js的特殊配置说明

js 复制代码
 configureWebpack: {
    optimization: {
      minimize: process.env.NODE_ENV === 'production',
    },
    resolve: {
      extensions: ['.js', '.vue', '.ts', '.json'],
      alias: {
        '@': path.join(__dirname, '/'),
      },
    },
    externals: {
      vue: 'Vue',
      vuex: 'Vuex',
      'vue-router': 'VueRouter',
    },
    plugins: process.env.NODE_ENV === 'production' ? [] : [],
  },

vue.config.js 文件中,externals 配置选项是用来指定不应该被 webpack 打包的模块,而是在运行时从环境中获取。这意味着这些模块应该作为外部依赖存在,而不是被包含在最终的 bundle 中。

这意味着 webpack 将不会打包 Vue、Vuex 和 Vue Router,而是假设这些库在运行时是可用的。这通常用于库开发,当你想要创建一个库,并希望用户能够自己提供这些依赖项,而不是将它们打包进库中。 此时就需要在html中引入对应的js,

html:

js 复制代码
 <script src="https://cdnweb.ciccwm.com/zzt/static/js/vue/vue2.7.runtime.min.js"></script>
 <script src="https://cdnweb.ciccwm.com/zzt/static/js/vue/vue-router.min.js"></script>

然而,对于大多数 Vue CLI 创建的项目来说,你通常想要 webpack 将这些依赖项打包进最终的 bundle 中,以便在没有这些全局变量可用的环境中也能运行。因此,externals 配置在这里可能是不合适的。

如果你想要确保 Vue、Vuex 和 Vue Router 是从项目中读取的,而不是作为外部依赖,你应该移除或注释掉。

相关推荐
倾颜1 小时前
从 textarea 到 AI 输入框:用 Tiptap 实现 / 命令、@ 引用和结构化请求
前端·langchain·next.js
kyriewen2 小时前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
kyriewen3 小时前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
yuzhiboyouye4 小时前
web前端英语面试
前端·面试·状态模式
canonical_entropy5 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
东方小月5 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅5 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆5 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
XinZong6 小时前
【AI社交】基于OpenClaw自研轻量化AI社交平台实战
前端
Le_ee6 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php