美文网首页饥人谷技术博客
npm-npmscript-gulp-webpack

npm-npmscript-gulp-webpack

作者: liushaung | 来源:发表于2017-08-31 22:56 被阅读0次

    如何全局安装/卸载一个 node 应用?

    当前目录下安装/卸载:
      npm install xxx / npm unistall xxx
    全局下安装/卸载:
      npm install -g xxx / npm unistall -g xxx
    

    package.json 有什么作用?

    package.json定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

    通过scripts指定运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

    通过dependencies字段指定项目运行所依赖的模块,通过devDependencies指定项目开发所需要的模块。

    bin项用来指定各个内部命令对应的可执行文件的位置。

    main字段指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。

    config字段用于添加命令行的环境变量。

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

    npm install --save app:将在当前目录导入app模块,并写入'dependencies'字段,当其他人下载代码并运行npm install时会自动下载app模块。

    npm install --save-dev app:将在当前目录导入app模块,并写入'devDependencies'字段,当其他人下载代码并运行npm install时不会自动下载app模块。

    node_modules的查找路径是怎样的?

    从当前文件目录开始查找node_modules目录;然后依次进入父目录,查找父目录下的node_modules目录;依次迭代,直到根目录下的node_modules目录。

    npm3与 npm2相比有什么改进?yarn和 npm 相比有什么优势?

    针对 npm2 的问题,npm3 加了点算法,直白的解释就是:npm install 时会按照 package.json 里依赖的顺序依次解析,遇到新的包就把它放在第一级目录,后面如果遇到一级目录已经存在的包,会先判断版本,如果版本一样则忽略,否则会按照 npm2 的方式依次挂在依赖包目录下。

    在包版本差异化不太严重的情况下,这种构建方式会几乎把所有包放在一级目录下,很大程度上提升了效率以及节省了部分磁盘空间。

    Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 — Yarn,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的:

    • 为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。
    • Yarn 是同步执行所有任务,提高了性能。
    • 更简洁的输出

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

    webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成少量的 bundle - 通常只有一个,由浏览器加载。

    优势:

    • webpack 是以 commonJS 的形式来书写脚本滴,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
    • 所有静态资源都可以被当成模块引用,而不仅仅是JS了。
    • 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。
    • 模块来源广泛,支持包括npm/bower等等的各种主流模块安装/依赖解决方案。

    npm script是什么?如何使用?

    npm 允许在package.json文件里面,使用scripts字段定义脚本命令。

    {
      // ...
      "scripts": {
        "build": "node build.js"
      }
    }
    

    上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。

    命令行下使用npm run命令,就可以执行这段脚本。
    $ npm run build
      等同于执行
    $ node build.js
    

    这些定义在package.json里面的脚本,称为 npm 脚本。

    优点:

    • 项目的相关脚本,可以集中在一个地方。
    • 不同项目的脚本命令,只要功能相同,就可以有同样的对外接口。用户不需要知道怎么测试你的项目,只要运行npm run test即可。
    • 可以利用 npm 提供的很多辅助功能。

    查看当前项目的所有 npm 脚本命令,可以使用不带任何参数的npm run命令。

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

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

    gulp简介:

    • 它是一款nodejs应用。
    • 它是打造前端工作流的利器,打包、压缩、合并、git、远程操作...,
    • 简单易用
    • 高质量的插件

    使用gulp

    相关文章

      网友评论

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

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