npm-npmscript-gulp-webpack

1、如何全局安装一个 node 应用?

使用命令:npm install -g app
其中 -g 代表global,即全局安装。

2、package.json 有什么作用?

每个npm项目的根目录下,都会有一个package.json文件。它包含了对这个项目的各种基本信息的描述,如项目名称(必须)、版本号(必须)、项目描述(可选)、关键字(可选)、项目链接/地址(可选)等等,相当于这个项目的基本说明。
另外,它还包含了这个项目运行所需的其它项目依赖(如有)。这样一来,用户在搭建项目环境的过程中,npm install命令就会根据这个配置文件,自动下载所需的项目依赖,也就是配置项目所需的运行和开发环境。

3、npm install --save app 与 npm install --save-dev app有什么区别?

npm install --save app是将项目运行所需的依赖信息添加到package.json文件中。我们在引用别人的项目前,npm会自动下载它所需这些的依赖模块,以保证项目能够正常运行。
npm install --save-dev app是将项目开发过程中所需的依赖信息添加到package.json文件中。这些依赖模块会在项目开发过程中被调用,但项目实际运行时是不必要的。

4、node_modules的查找路径是怎样的?

先从当前目录下开始查找,如果找不到相应的文件,则依次向上级目录中查找,直到系统根目录下,如果还是没有找到,则会报错。

6、webpack 是什么?和其他同类型工具比有什么优势?

webpack 可以看作是一个“模块打包机”。它所做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式以供浏览器使用。

和其他同类型的工具相比,webpack 具有以下几点优势:

  • 代码拆分:webpack 有两种组织模块依赖的方式:同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每一个异步区块都作为一个文件被打包;
  • Loader:webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。也就是说,任何资源都能够成为 webpack 可以处理的模块;
  • 智能解析:webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件;
  • 插件系统:webpack 拥有一个功能丰富的插件系统,大多数内容功能都是基于这个插件系统运行的。另外我们还可以开发和使用开源的 webpack 插件,来满足各式各样的需求;
  • 快速运行:webpack 使用异步 I/O 和多级缓存提高运行效率,极大地加快了它进行增量编译的速度。

7、npm script是什么?如何使用?

npm script是package.json文件中的一个可选字段,我们可以通过它来定义一些常用的脚本命令,然后在需要调用时,通过npm+命令名称来实现,从而避免了重复键入一些较常用的命令。
在使用过程中需要注意的是:1.如果命令名称不是npm内置的字符,则需要使用npm run+命令名称的方式来实现;2.同一条命令下可以同时定义多项操作,这使得一些较为复杂的指令得以轻易地被实现。

8、使用 webpack 替换 入门-任务15 中模块化使用的 requriejs。

代码链接:https://github.com/Jeff12138/Task5

9、gulp是什么?使用 gulp 实现图片压缩、CSS 压缩合并、JS 压缩合并。

gulp是我们在前端开发过程中对代码进行自动化构建的一款工具。它能够根据我们的需求自动地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成等命令,并监听文件在改动后重复指定的这些步骤。总而言之,在开发过程中很多重复的任务都能够通过gulp来使用正确的工具自动完成,从而大大提高我们的工作效率。

var gulp = require('gulp');

//引入组件
var imagemin = require('gulp-imagemin');     //图片压缩
var minifycss = require('gulp-minify-css');     //CSS压缩
var uglify = require('gulp-uglify');     //JS压缩
var concat  = require('gulp-concat');     //文件合并

//图片压缩
gulp.task('img',function(argument) {
  gulp.src('src/imgs/*')
  .pipe(imagemin())
  .pipe(gulp.dest('dist/imgs'))
})

//CSS压缩合并
gulp.task('css',function(argument) {
  gulp.src('src/css/*.css')
  .pipe(minifycss())
  .pipie(concat('merge.min.css'))
  .pipe(gulp.dest('dist/css/'))
})

//JS压缩合并
gulp.task('js',function(argument) {
  gulp.src('src/js/*.js')
  .pipe(uglify())
  .pipie(concat('merge.js'))
  .pipe(gulp.dest('dist/js/'))
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容