题目1: 如何全局安装一个 node 应用?
npm install -g xxx;//全局安装xxx应用,-g,即是-global,全局的意思
题目2: package.json 有什么作用?
定义了项目所需要的各种模块, 以及项目的配置信息(比如名称, 版本, 许可证等元数据); npm根据这个配置文件自动下载所需的模块, 也就是配置项目所需的 运行和开发环境
题目3: npm install --save app 与 npm install --save-dev app有什么区别?
npm install --save app;//下载安装app,并在package.json的dependencies中生成信息,为此模块正常运行所需要的依赖;
npm install --save-dev app;//下载安装app,并在package.json的devDependencies中生成依赖,为模块开发过程中测试(包括运行)的依赖,并不是模块正常运行的依赖;
题目4: node_modules的查找路径是怎样的?
先从本地目录下寻找,不存在就依次向上级目录中查询,直到系统根目录。node全局安装在系统根目录下,所以全局安装后可在所有目录下使用
题目5: npm3与 npm2相比有什么改进?yarn和 npm 相比有什么优势? (选做题目)
- npm3 和 npm2 的依赖关系不一样
npm2以嵌套方式安装所有依赖关系,npm3会尝试减轻这种嵌套造成的深层树和冗余。
npm3尝试通过以平面方式安装一些辅助依赖关系(依赖关系的依赖关系),与需要主依赖关系的目录相同。 - yarn和 npm相比有什么优势?
- yarn.lock 文件
- 并行安装
- 更简洁的输出
- CLI 命令区别
- 稳定性和可依赖度
题目6: webpack是什么?和其他同类型工具比有什么优势?
Webpack是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过
loader
的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。当然灵活的模块管理只是webpack的众多特性之一,它还有众多优秀的特性:
1 - 它同时支持commonjs和AMD规范(甚至混合的形式);
2 - 它可以打成一个完整的包,也可以分成多个部分,在运行时异步加载(可以减少第一次加载的时间);
3 - 依赖在编译时即处理完毕,可以减少运行时包的大小;
4 - Loaders可以使文件在编译时得到预处理,这可以帮我们做很多事情,比如说模板的预编译,图片的base64处理;
5 - 丰富的和可扩展的插件可以适应多变的需求。
题目7:npm script是什么?如何使用?
npm script允许在package.json中使用script字段定义脚本命令。通过设置npm script可以方便的实现前端工作流。例如:输入命令npm run start,就会执行index.js文件。输入命令npm run begin,就会在命令行输出'there it goes'
"scripts": {
"begin": "echo there it goes!",
"start": "node index.js",
}
题目8: 使用 webpack 替换 入门-任务15中模块化使用的 requriejs
题目9:gulp是什么?使用 gulp 实现图片压缩、CSS 压缩合并、JS 压缩合并
gulp是前端开发过程中对代码进行构建的工具, 是自动化项目的构建利器; 它不仅能对网站资源进行优化, 而且在开发过程中很多重复的任务能够使用正确的工具自动完成; 使用它, 我们不仅可以很愉快的编写代码, 而且大大提高工作效率
gulp是基于nodejs的自动任务运行器, 能自动化的完成JavaScript/coffee/sass/less/HTML/image/css 等文件的测试, 检查, 合并, 压缩, 格式化, 浏览器自动刷新, 部署文件生成, 并监听文件在改动后重复指定的这些步骤; 在实现上, 它借鉴了unix操作系统的管道(pipe)思想, 前一级的输出, 直接变成后一级的输入, 使得在操作上非常简单
全局安装gulp:
$ npm install --gloabl gulp
作为项目的开发依赖(devdependencies) 安装
$ npm install --save-dev gulp
在项目根目录下创建一个名为gulpfile.js 的文件:
var gulp = require(`gulp`);
gulp.task('default', function() {
// 将你的默认任务代码放在这
});
题目10: 开发一个 node 命令行天气应用用于查询用户当前所在城市的天气,发布到 npm 上去。可以通过如下方式安装使用(可使用api.jirengu.com里提供的查询天气接口) (选做题目)
npm install hunger-weather -g
weather