拉取了其他同事的代码,然后重新install了之后发觉会报exports is not defined的错误,奇怪的是开发环境有问题,但是测试环境是没有问题的,后来一个同事提醒要锁版本,是啊,用npm不就是会有这个问题么?有时候包是有问题的,所以yarn才那么受欢迎啊,所以才有lock文件啊,下面介绍一下package.json,指定版本号也是一种锁版本的方式:
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"lint": "eslint --ext .js,.vue src",
"build": "node build/build.js"
},
"dependencies": {
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
指定版本号
(1)指定版本:比如"vue": “2.5.2”,表示安装2.5.2的版本
(2)波浪号~+指定版本:比如 “vue”: “~2.5.2”,表示安装2.5.x的最新版本(不低于2.5.2),但是不安装2.6.x,也就是说安装时不改变大版本号和次要版本号
(1)^+指定版本:比如 “vue”: “^2.5.2”,,表示安装2.5.2及以上的版本,但是不安装3.0.0,也就是说安装时不改变大版本号。
————————————————
版权声明:本文为CSDN博主「数学太陡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28137309/article/details/104182331
另外我的项目中没有package.lock.json这个文件,考虑应该是npm版本的问题。
npm install 不自动生成 package-lock.json文件
package-lock.json这个文件的作用就不详细说明了 有需要的可以参考 : https://www.cnblogs.com/cangqinglang/p/8336754.html
网上都说 npm 自从版本npm 5.0之后,执行 npm install 的时候 就会自动生成package-lock.json文件了,但是我这里就是没生成,
我的npm 版本是 6.1.0 没毛病的
网上也没找到如何生成这个文件的方法,只找到了如何禁止生成这个文件的方法:
npm config set package-lock false
后来更新了npm到最新版本,然后,再 npm install 竟然就好了!!! 原来是npm 版本的问题,效果如下: