问题
公司的sass
系统客户有定制化需求,本来想使用git
做项目管理,但是发现在操作上还是很不方便,给开发带来不必要的工作量(git
也不是干这个的)。然后整理了一下需求,决定在编译时就将项目区分开。
客户定制化需求
由于客户的需求差异有大有小,大的比如说添加整个菜单模块:
小的需求比如说只在下一个下拉列表里面添加两个字段:
第二种小需求如果放在git
中管理的话,会给后面维护造成很大的困难。
解决方案
使用process.env
在编译时区分项目,可以使用配置项来解决的独立出来,在编译时配置好。
首先在package.json
中配置好编译命令:
"scripts": {
"start": "node build/dev-server.js",
// 修改dev命令,添加值为jijia的变量NODE_ITEM
"dev": "set NODE_ITEM=jijia node build/dev-server.js",
"build": "node build/build.js",
"dll": "webpack --config ./build/webpack.dll.config.js",
},
然后在webpack.dev.config.js
和webpack.prod.config.js
中修改webpack.DefinePlugin
插件:
new webpack.DefinePlugin({
...
'process.env.NODE_ITEM': JSON.stringify(process.env.NODE_ITEM),
...
}),
这样我们就可以在项目中使用process.env
来访问自定义的这个NODE_ITEM
了,在项目编译打包时,可以在package.json
中配置多个命令来编译不同的项目。