Vue进阶(七):走近 package

“name”: “kocla_test”,
“version”: “1.0.0”,
}


2. scripts


指定了运行脚本命令的`npm`命令行缩写,比如start指定了运行`npm run start`时,所要执行的命令。


下面的设置指定了`npm run dev、npm run bulid、npm run unit、npm run test、npm run lint`时,所要执行的命令。



“scripts”: {
“dev”: “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”,
“test”: “npm run unit”,
“lint”: “eslint --ext .js,.vue src test/unit/specs”
},


3. `dependencies,devDependencies`


`dependencies`和`devDependencies`两项,分别指定了项目运行、开发所需要的模块。它们都指向一个对象,该对象的各个成员,分别由模块名和对应的版本要去组成,表示依赖的模块及其版本范围



> 
> * `--save`参数表示将该模块写入`dependencies`属性,
> * `--save-dev`表示将该模块写入`devDependencies`属性。
> 
> 
> 



“dependencies”: {
“vue”: “^2.2.2”,
“vue-router”: “^2.2.0”
},
“devDependencies”: {
“autoprefixer”: “^6.7.2”,
“babel-core”: “^6.22.1”,
“babel-eslint”: “^7.1.1”,
“babel-loader”: “^6.2.10”,
“babel-plugin-transform-runtime”: “^6.22.0”,
“babel-preset-env”: “^1.2.1”,
“babel-preset-stage-2”: “^6.22.0”,
“babel-register”: “^6.22.0”,
“chalk”: “^1.1.3”,
}


注:


* `devDependencies`下的依赖包,只是我们在本地或开发坏境下运行代码所依赖的,若发布到线上,其实就不需要`devDependencies`下的所有依赖包;(比如各种`loader`,`babel`全家桶及各种`webpack`的插件等)只用于开发环境,不用于生产环境,因此不需要打包;
* `dependencies`是我们线上(生产坏境)下所要依赖的包,比如vue,我们线上时必须要使用的,所以要放在`dependencies`下;`dependencies`依赖的包不仅开发环境能使用,生产环境也能使用。
* 所谓开发环境,就是指开发阶段,比如`webpack`,`gulp`这些工具,都只是在开发阶段需要,一旦项目真正投入使用,便不再依赖这些插件,所以将其安装在`devDependencies`即可;
* 生产环境,则表示项目真正投入使用时,此时仍然需要依赖的插件则需要安装在`dependencies`中,比如`vue`,`vue-router`,`jQuery`这些,`dependencies`中没有这些插件,项目真实使用时就会出错。


4. `config`字段


`config`字段用于向环境变量输出值。



{
“name” : “foo”,
“config” : { “port” : “8080” },
“scripts” : { “start” : “node server.js” }
}


5. `engines` 字段  
 指明了该项目所需要的`node.js`版本。



“engines”: {
“node”: “>= 4.0.0”,
“npm”: “>= 3.0.0”
},


6. `bin`


许多包有一个或多个可执行文件希望被安装到系统路径。在`npm`下要这么做非常容易(事实上,`npm`就是这么运行的)。


这需要在`package.json`中提供一个`bin`字段,它是一个命令名和本地文件名的映射。在安装时,如果是全局安装,`npm`将会使用符号链接把这些文件链接到`prefix/bin`,如果是本地安装,会链接到`./node_modules/.bin/`。


比如,要使用myapp作为命令时可以这么做:

#### 后话

-------------------------------------------------------------

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

对于面试,说几句个人观点。



面试,说到底是一种考试。正如我们一直批判应试教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。

所谓面试造火箭,工作拧螺丝。面试往往有更高的要求,也迫使我们更专心更深入地去学习一些知识,也何尝不是一种好事。
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值