vue.js - 仅在 Vue CLI 应用程序的开发中包含客户端 npm 依赖项
问题描述
我想知道是否可以在我的客户端代码中包含 npm 依赖项,但仅限于开发中。
我有一些只想在开发中运行的 API 模拟代码:
// src/main.js
import Vue from 'vue'
import App from './App.vue'
import { Server } from "miragejs";
Vue.config.productionTip = false
if (process.env.NODE_ENV === 'development') {
new Server()
}
new Vue({
render: h => h(App),
}).$mount('#app')
我希望 npm 依赖miragejs
项能够从我的生产构建以及开发块中的代码中获得树状结构。
这可能吗?或者,是否有更惯用的方式仅在某些环境中包含某些 npm 资产?
解决方案
下拉到您的vue.config.js
文件(类似于webpack.config.js
!)并覆盖部分配置。您可以弄乱加载程序,也可以在开始时连接一些文件。
你有两个选择:chainWebpack
或configureWebpack
(如果process.env.NODE_ENV !== 'PRODUCTION'
)
configureWebpack
接受一个对象字面量。我发现作为初学者更简单。chainWebpack
是一个返回修改后配置的函数。它有一个相当复杂的 API (这里)
// vue.config.js
module.exports = {
// sometimes I just require my webpack files here...
// require('./webpack.config.js')
// There are some webpack config merge plugins available, I don't remember the names of them.
configureWebpack: process.env.NODE_ENV !== 'PRODUCTION' ? devOnlyConfig : {},
chainWebpack: (config) => {
if (process.env.NODE_ENV !== 'PRODUCTION') { /* modify config! */ }
return config;
}
}
推荐阅读
- google-cloud-platform - GCP 内部 IP
- windows - 如何在没有代理的机器上拦截 HTTPS 流量?
- sparql - 数据记录规则需要永远计算
- javascript - 如何控制 jQuery slideToggle(); 这是位置:绝对;高于视口?
- java - 从 Chrome 中删除 Cookie 后,Java Servlets/Tomcat 不会显示新的 Cookie
- javascript - Discord.js:当有人进入任何频道时,我如何让我的机器人播放音频
- c# - C# - 将空列添加到 DataTable
- php - 数据与mysql两表交叉匹配,使用PHP mySql在表中显示值
- google-apps-script - 将用户选择传递给应用程序脚本中的函数
- python - 使用 .show 命令时出现 PySpark 连接错误?