美文网首页
npm-npmscript-gulp-webpack

npm-npmscript-gulp-webpack

作者: _达斯基 | 来源:发表于2017-11-22 02:28 被阅读0次

    题目1: 如何全局安装一个 node 应用?

    npm install -g pkg

    题目2: 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": "yan",  //工程作者
      "license": "ISC", //工程遵循的开源协议
      "dependencies": { //工程所依赖的包,当在执行npm install命令时,将会根据此对象中的属性来安装依赖。
        "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 中,只在开发时才用到,发布后用不到它。

    区别在于:当你把项目发布上线后,别人使用 npm install使用你的项目时,
    并不会下载devDependencies里的模块。

    题目4: node_modules的查找路径是怎样的?

    从当前文件目录开始查找node_modules目录;然后依次进入父目录,查找父目录下的node_modules目录;依次迭代,直到根目录下的node_modules目录。比如某个模块的绝对路径是/home/user/foo.js,在该模块中使用require('bar')方式加载模块时,node将在下面的位置进行搜索:

    /home/user/node_modules/bar

    /home/node_modules/bar

    /node_modules/bar

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

    webpack是一款模块加载器兼打包工具,它能把各种资源JS/CSS/图片等都作为模块来使用和处理。优势如下:

    webpack 是以 commonJS 的形式来书写脚本,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
    webpack可以将代码拆分成多个区块,每个区块包含一个或多个模块,它们可以按需异步加载,极大地减少了页面初次加载时间。
    webpack 本身只能处理原生的 JS 模块,但是 loader 转换器可以将各种类型的资源转换成 JS 模块。这样,任何资源都可以成为 webpack 可以处理的模块。
    webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。
    webpack 还有一个功能丰富的插件系统。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的 webpack 插件,来满足各式各样的需求。
    webpack使用异步 I/O 和多级缓存提高运行效率,使得它能够快速增量编译。

    题目7:npm script是什么?如何使用?

    package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。npm 内置了两个简写的命令:npm test 和 npm start,其它命令要写成 npm run xxx 形式

    题目8: 使用 webpack 替换 入门-任务15中模块化使用的 requriejs

    任务链接

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

    • 它是一款nodejs应用。
    • 它是打造前端工作流的利器,打包、压缩、合并、git、远程操作.....
    • 简单易用
    • 高质量的插件
    1. 安装项目的开发依赖(devDependencies)安装
    $ npm install --save-dev gulp
    2.  在项目根目录下创建一个名为 gulpfile.js 的文件
    3. 安装需要使用的插件
    npm install gulp-imagemin --save-dev
    npm install gulp-cssnano --save-dev
    npm install --save-dev gulp-uglify
    npm install gulp-concat --save-dev
    4. 载入插件
    const gulp = require('gulp');
    const imagemin = require('gulp-imagemin');
    const cssnano = require('gulp-cssnano');
    const uglify = require('gulp-uglify');
    const concat = require('gulp-concat');
    5. 定义任务
    //合并压缩css
    gulp.task('build:css', function () {
        gulp.src('src/css/*.css')
            .pipe(concat('merge.min.css'))
            .pipe(cssnano())
            .pipe(gulp.dest('./css/'));
    });
    
    //合并压缩js
    gulp.task('build:js', function () {
        gulp.src('src/js/*.js')
            .pipe(concat('merge.min.js'))
            .pipe(uglify())
            .pipe(gulp.dest('./js/'));
    });
    
    //压缩img
    gulp.task('build:img', function () {
        gulp.src('src/img/*')
            .pipe(imagemin())
            .pipe(gulp.dest('./img/'))
    });
    
    //合并任务
    gulp.task('build', ['build:css', 'build:js', 'build:img']);
    6. 运行 gulp build
    
    

    相关文章

      网友评论

          本文标题:npm-npmscript-gulp-webpack

          本文链接:https://www.haomeiwen.com/subject/lcggvxtx.html