题目1: 如何全局安装一个 node 应用?
npm install -g 你需要的应用
题目2: package.json 有什么作用?
作用:
1.相当于你本地项目的一个文档说明。
2.允许你指定你项目中所使用的node包的版本。
3.构建你的项目更加容易,便于给其他人共享。
(可以通过npm init来新创建)
{
"name": "my_package", //你的项目名称,全部小写,不能有空格,一个单词,允许-和_. 如果是要发布自己的node插件,一般用github上面项目名称。 下次有机会说明 npm 上面的发布流程。
"version": "1.0.0", //你的项目版本号,最好遵守 GNU 版本号管理。
"main": "index.js", //目录中启动文件名称。或者称之为入口文件,一般都是 index.js
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1" //一般默认一个test的空文件夹、用作写测试代码。
},
"keywords": [], //项目的关键词。 一般用不到,发布npm才用得到。
"author": "ag_dubs", //作者名称
"license": "ISC", //协议
"repository": { // 用来存放到 版本管理远程服务。 发布npm才有用
"type": "git",
"url": "https://github.com/ashleygwilliams/my_package.git"
},
"dependencies": { // 正式使用时,依赖的包
"my_dep": "^1.0.0"
},
"devDependencies" : {//开发或者测试时,依赖的包。
"my_test_framework": "^3.1.0"
}
"bugs": { //同repository
"url": "https://github.com/ashleygwilliams/my_package/issues"
},
"homepage": "https://github.com/ashleygwilliams/my_package" //项目主页、 发布才有用
}
题目3: npm install --save app 与 npm install --save-dev app有什么区别?
表面上区别在于, --save会把依赖的包添加到package.json文件中的dependencies 键下,
--save-dev (-D)则添加到 package.json 文件 devDependencies 键下devDependencies下列出的模块是我们开发时候需要用到的,别人使用的时候只要 npm install 一下就可以。。
而dependencies下的模块是我们开发必须要用到的,这时候你就要需要自己手动去全局下载。
题目4: nodule_modules的查找路径是怎样的?
- 先从本地目录找,找不到去上一级目录找,再找不到再去上一级目录找,一直找到系统根目录。 所以全局安装的包,可以在全局下使用。
题目6: webpack是什么?和其他同类型工具比有什么优势?
webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成bundle - 通常只有一个,由浏览器加载。
webpack是以commonJS的形式来书写脚本,但对AMD/CMD的支持也很全面
webpack可以将代码拆分为多个区块,每个区块包含一个或多个模块,它们可以按需异步加载,极大地减少了页面初次加载时间
webpack本身只能处理原生JS模块,但是loader转换器可以将各种类型的资源转换成JS模块。这样,任何资源都可以成为webpack可以处理的模块
webpack有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是commonJS,AMD还是普通的JS文件。
webpack还有一个功能丰富的插件系统。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的webpack插件,来满足各种各样的需求。
webpack使用异步I/O和多级缓存提高运行效率,使得它能够快速增量编译
题目7:npm script是什么?如何使用?
npm script 是package.json的一个属性,可以在scripts里面定义一些脚本命令
除了npm可以直接执行的以外(例如:npm start,npm test),其余的都要通过npm run xxx
题目8: 使用 webpack 替换 入门-任务15中模块化使用的 requriejs
题目9:gulp是什么?使用 gulp 实现图片压缩、CSS 压缩合并、JS 压缩合并
- 它是一款nodejs应用。
- 它是打造前端工作流的利器,打包、压缩、合并、git、远程操作.....
- 简单易用
- 高质量的插件