为什么区分生产环境和开发环境?
以前网上一搜说的就是:若发到线上,其实就不需要devDependencies下的所有依赖包,webpack就不会去打包devDependencies的依赖,why?
引用devDependencies依赖是在哪里
是因为webpack的config里require了一些插件,应该是这里引用了一些开发环境才需要的插件,所以默认是要给你打入到包里。然后我把这些插件放到devDependencies里,webpack就默认跳过了(是默认配置了吗)?
这样还需要区分生产环境和开发环境吗?
最近在研究webpack的配置,如果真的是上面说的是在config里require了一些插件,那配置的打包js模块的时候就忽略掉那些config.js结尾的文件里引用的依赖,那是不是就不用再特意的去区分生产环境和开发环境了————天真的我:)
上面的这句话看上去正确,其实没有多少关联性,也没有强因果关系。依赖项是否被 webpack 打包进 bundle 是看入口 main 是否在调用中有模块引用。
devDependencies
有两个含义,一个含义是放在 package.json 中与模块的依赖dependencies
做区分,表示是开发环境所需,实际上所有的开发依赖完全可以放在dependencies
中;另一个含义则可能涉及到加载的优先级问题,例如二者中都有某种相同的模块依赖或者依赖的依赖,但是版本是不同的,当引用时到底引入哪个的问题?