1.如何全局安装一个node应用?
npm install -g 应用程序
2.package.json有什么作用?
package.json存储在项目的根目录下,保存链项目的名称、版本、描述、关键字、作者等相关信息以及该项目的依赖信息(运行依赖环境、开发依赖环境)
{
"name": "demo1", //项目名称
"version": "1.0.1", //项目版本
"description": " ", //项目描述
"main": "index.js", //项目入口
"scripts": { //npm script 命令行
"test": "echo\"Eorr: no test specified\" && exit 1"
}
"bin": { //项目执行文件的位置
"demo1": "./index.js"
}
"keyword": [ //项目关键字
"demo1"
],
"author": "xxx", //项目作者
"license": "ISC", //项目认证信息
"dependencies": { //项目运行依赖环境,当安装该项目时,运行依赖环境也会安装
"marked": "^0.3.6"
},
"devDependencies": { //项目开发依赖环境,只在本地测试有效,安装该项目时,开发依赖环境不会安装
"easytpl": "^1.0.4"
}
}
3.npm install --save app
与npm install --save-dev app
有什么区别?
npm install --save app
将项目运行时需要的依赖环境下载到package.json的dependencies中,项目发布之后还要继续使用。
npm install --save-dev app
将项目的开发依赖环境下载到package.json的devDependencies中,在本地测试的时候使用,项目发布之后不会使用。
4.node_modules
的查找路径是怎样的?
从项目的所在同级目录开始查找node_modules,如果在当前目录找不到。则在上一级目录中查找,如果找不到,则以此类推,直到查找到改文件,或者查找到根目录下找不到为止。
5.webpack是什么?和其他同类型工具比有什么优势?
webpack是一个模块打包器。它将根据模块的依赖关系进行动态分析,然后将这些模块按照指定的规则生成对应的静态资源。
和其他类型工具相比优势:
(1)代码拆分
Webpack有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每个异步区块都作为一个文件被打包。
(2)Loader
Webpack本身只能处理原生的javaScript模块,但是loader转换器可以将各种类型的资源转换成JavaScript模块。这样,任何资源都可以成为Webpack可以处理的模块。
(3)智能解析
Webpack有一个智能解析器,几乎可以处理任何第三方库,无论他们的模块形式是CommonJS、AMD还是普通的JS文件。甚至在加载依赖的时候,允许使用动态表达式require("./templates/" + name + ".jade")
。
(4)插件系统
Webpack还有一个功能丰富的插件系统,大多数内容功能都是基于这个插件系统运行的,还可以开发和使用Webpack插件,来满足各种各样的需求。
(5)快速运行
Webpack使用异步I/O和多级缓存提高运行效率。这使得Webpack能够以令人难以置信的速度增量编译。
6.npm script是什么?如何使用?
npm script是npm使用的脚本语言,存储在package.json的script字段中,script字段的key代表npm script的命令,value代表实际执行的命令。start和test命令可以用npm start和npm test在命令行执行,其他都需要用npm run xxx执行。
7.使用webpack替换入门任务15的模块化requirejs
8.gulp是什么?使用gulp实现图片压缩、CSS压缩合并、JS压缩合并
gulp是前端开发过过程中进行构建的工具,是自动化构建项目的利器;不仅能对网络资源进行优化,在开发过程中很多重复的任务能够正确的工具自动完成;使用gulp大大提高了工作效率。
gulp是基于Nodejs的自动任务运行器,能自动的完成html/css/sass/less/javascript/image/coffee等文件的测试、检查、压缩、合并、格式化、浏览器自动刷新、部署文件生成、并监听文件在改动后重复指定的这些步骤。在实现上,借鉴了Unix操作系统的管道(pipe)思想,前一级的输出直接变成后一级的输入,使得在操作上十分简单。
npm install --save gulp-imagemin //压缩图片
npm install --save gulp-minify-css //压缩css
npm install --save gulp-uglify //js压缩