仅在 Vue CLI 应用程序的开发中包含客户端 npm 依赖项
Include a client side npm dependency in development only in a Vue CLI app
我想知道是否可以在我的客户端代码中包含 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
从我的生产构建中获得 tree-shaking,以及开发块中的代码。
这可能吗?或者,是否有更惯用的方式在特定环境中仅包含特定 npm 资产?
下拉到您的 vue.config.js
文件(类似于 webpack.config.js
!)并覆盖部分配置。你可以搞乱加载器,或者在开始时连接一些文件。
您有两个选择:chainWebpack
或 configureWebpack
(如果 process.env.NODE_ENV !== 'PRODUCTION'
)
configureWebpack
接受一个对象字面量。我发现作为初学者更简单。
chainWebpack
是 returns 修改配置的功能。它有一个相当复杂的 API (here)
vue-cli docs for both of those options
// 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;
}
}
有点晚了,但我在自己的 Vue.js 应用程序中的做法是
if(process.env.NODE_ENV === 'development') {
const { SERVER } = require('miragejs'); // instead of import
new Server();
}
我想知道是否可以在我的客户端代码中包含 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
从我的生产构建中获得 tree-shaking,以及开发块中的代码。
这可能吗?或者,是否有更惯用的方式在特定环境中仅包含特定 npm 资产?
下拉到您的 vue.config.js
文件(类似于 webpack.config.js
!)并覆盖部分配置。你可以搞乱加载器,或者在开始时连接一些文件。
您有两个选择:chainWebpack
或 configureWebpack
(如果 process.env.NODE_ENV !== 'PRODUCTION'
)
configureWebpack
接受一个对象字面量。我发现作为初学者更简单。chainWebpack
是 returns 修改配置的功能。它有一个相当复杂的 API (here)
vue-cli docs for both of those options
// 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;
}
}
有点晚了,但我在自己的 Vue.js 应用程序中的做法是
if(process.env.NODE_ENV === 'development') {
const { SERVER } = require('miragejs'); // instead of import
new Server();
}