1、package.json是什么
webpack中package.json文件中,列出了项目所依赖的插件和库,同时也列出了相应的版本号。
2、package.json属性说明
{
"name": "demo", //项目名称
"version": "8.20.14", //项目版本号
"description": "第一个node.js项目", //项目描述
"author": "zhangsan", //项目开发者
"private": true, //是否私有,设置为时,npm拒绝发布,防止意外发布私有存储库
"main": "app.js", // 程序的主入口文件
"scripts": { //执行npm脚本命令
"dev": "node --max_old_space_size=4096 build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node --max_old_space_size=4096 build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",
"build:dll": "node build/dll.js"
},
"dependencies": { // 生产环境依赖包列表
"assets-webpack-plugin": "^6.0.4",
"axios": "^0.16.2",
"js-base64": "^2.4.5",
"vue": "^2.5.16",
},
"devDependencies": { //开发环境依赖包列表
"autoprefixer": "^7.1.2",
"jquery": "^3.3.1",
"null-loader": "0.1.1",
"url-loader": "^0.5.8"
},
"engines": { //项目运行的平台,值node、npm运行的版本
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [ //供浏览器使用的版本列表
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块
npm install
3、package.json中scripts,node.js前端项目编译时内存溢出的问题
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",
"build:dll": "node build/dll.js"
}
在node通过js使用内存时只能使用部分内存(64位系统下约为1.4GB,32位系统下约为0.7GB),这就是我们编译项目时内存为什么会溢出的原因,因为前端项目非常大,webpack编译会占用很多的资源,如果超出了V8对node默认的内存限制大小就会溢出。node在启动时可以传递--max_old_space_size 或--max_new_space_size来调整内存大小的使用限制。
node --max_old_space_size=4096 // 单位为MB
// 或者
node --max_new_space_size=4096 // 单位为KB
基于vue-cli生成的项目,直接写入scripts字段的node命令后就好了。
"build": "node --max_old_space_size=4096 build/build.js"
更多内存溢出问题:https://blog.csdn.net/qq_35624642/article/details/81084331