npm-npmscript-gulp-webpack
如何全局安装一个 node 应用?
npm install -g 应用名称
package.json 有什么作用?
{
"name": "test-demo0", //项目名称,发布项目后,可以通过该名称在npm上搜索到该项目,必须全网唯一
"version": "1.0.0", //版本号,当项目做了改动时需要修改版本号再发布
"description": "这是我的测试版本", //工程描述。
"main": "index.js", //入口文件
"scripts": { //自定义的npm脚本,除test和start两条命令可以用npm xxx在命令行执行之外其他的命令必须用npm run xxx执行,这个对象中的键值对键名代表npm脚本的命令,而值则代表实际执行的命令。
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [ //工程描述关键词
"demo0"
],
"author": "xxx", //工程作者
"license": "ISC", //工程遵循的开源协议
"dependencies": { //工程所依赖的包,当在执行npm install命令时,将会根据此对象中的属性来安装依赖。
"marked": "^0.3.6"
},
"devDependencies": { //工程构建者构建工程所依赖的包,这个对象中的依赖仅仅在构建工程时安装
"easytpl": "^1.0.4"
}
}
npm install --save app 与 npm install --save-dev app有什么区别?
-
npm install --save app
: 将产品运行时(或生产环境)需要的依赖模块添加到 package.json 的 dependencies 中,在发布后还需要继续使用,否则就运行不了 -
npm install --save-dev app
:将产品的开发环境需要的依赖模块添加到 package.json 的 devDependencies 中,只在开发时才用到,发布后用不到它。
区别在于:当你把项目发布上线后,别人使用 npm install使用你的项目时,
并不会下载devDependencies里的模块。
node_modules的查找路径是怎样的?
从当前文件目录开始查找node_modules目录;然后依次进入父目录,查找父目录下的node_modules目录;依次迭代,直到根目录下的node_modules目录。比如某个模块的绝对路径是/demo/src/index.js,在该模块中使用require('bar')方式加载模块时,node将在下面的位置进行搜索:
/demo/src/node_modules/bar
/demo/node_modules/bar
/node_modules/bar
npm3与 npm2相比有什么改进?yarn和 npm 相比有什么优势? (选做题目)
npm3相对于npm2模块依赖目录层欠的改进,将传统的嵌套结构改为了平铺结构
优势: 命令行较简略
webpack是什么?和其他同类型工具比有什么优势?
webpack是一款模块加载器兼打包工具,它能把各种资源JS/CSS/图片等都作为模块来使用和处理。
优势如下:
- webpack 是以
commonJS
的形式来书写脚本,但对AMD/CMD
的支持也很全面,方便旧项目进行代码迁移。 - webpack可以将代码
拆分成多个区块
,每个区块包含一个或多个模块,它们可以按需异步加载,极大地减少了页面初次加载时间。 - webpack 本身只能处理原生的 JS 模块,但是
loader 转换器
可以将各种类型的资源转换成 JS 模块。这样,任何资源都可以成为 webpack 可以处理的模块。 - webpack 有一个
智能解析器
,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。 - webpack 还有一个功能丰富的
插件系统
。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的 webpack 插件,来满足各式各样的需求。 - webpack使用
异步 I/O 和多级缓存
提高运行效率,使得它能够快速增量编译。
npm script是什么?如何使用?
-
package.json
文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。 - npm 内置了两个简写的命令:
npm test
和npm start
,其它命令要写成npm run xxx
形式
使用 webpack 替换 入门-任务15中模块化使用的 requriejs
github: https://github.com/nciilin/trsk/tree/master/%E9%AB%98%E7%BA%A75/webpack
gulp是什么?使用 gulp 实现图片压缩、CSS 压缩合并、JS 压缩合并
- 它是一款nodejs应用。
- 它是打造前端工作流的利器,打包、压缩、合并、git、远程操作.....
- 简单易用
- 高质量的插件
github: https://github.com/nciilin/trsk/tree/master/%E9%AB%98%E7%BA%A75/gulp
开发一个 node 命令行天气应用用于查询用户当前所在城市的天气,发布到 npm 上去。
npm install hunger-weather233