美文网首页
从零开始学习node.js(三)[纽约的老郑原创翻版必究]

从零开始学习node.js(三)[纽约的老郑原创翻版必究]

作者: 郑伟的菜园子 | 来源:发表于2016-01-07 03:28 被阅读71次

    我们这节课开始学习一下npm其实npm我们之前是接触过的,在我们在墨鱼的js前端课程或CSS3高级课程的时候,我们接触到了gulp,grunt之类的时候,我们曾经安装一些gulp的插件的时候,比如csslint,我们是这样安装的:

    npm install --save-dev gulp-csslint
    

    这个npm就是我们现在要学的npm。https://www.npmjs.com/只要你安装了node软件,你就可以直接使用npm了,因为npm是随同nodejs一起安装的包管理工具,能解决nodejs代码部署上的很多问题,常见场景有以下几种:第一,允许用户从npm服务器下载并安装别人编写的npm包第二,允许用户把自己编写的npm包上传以npm服务器供别人使用拿我们上面的csslint来做例子,npm是我们使用所有的npm命令必须要带的,后面的install表示的是我们要安装某模块,--save-dev这个我们先不管,最后面的gulp-csslint就是我们要安装的模块的名字。npm分为全局安装和本地安装,所谓的本地安装只会对你当前的目录文件夹有影响,对别的文件夹没有影响,上面的csslint就是本地安装,但如果你想全局安装,刚才的命令就得改造成为:

    npm install  gulp-csslint -g
    
    

    全局安装的路径在C:\Users\Administrator\AppData\Roaming\npm 我们安装好了某模块之后,会发现我们当前的文件夹多了一个node_modules的文件夹,我们看一下目录结构

    D:\ispace\expresslearn\node_modules\coffee-script>tree /F
    卷 新加卷 的文件夹 PATH 列表
    卷序列号为 3ABA-FA76
    D:.
    │  .npmignore
    │  CNAME
    │  CONTRIBUTING.md
    │  LICENSE
    │  package.json
    │  Rakefile
    │  README
    │
    ├─bin
    │      cake
    │      coffee
    │
    └─lib
        └─coffee-script
                browser.js
                cake.js
                coffee-script.js
                command.js
                grammar.js
                helpers.js
                index.js
                lexer.js
                nodes.js
                optparse.js
                parser.js
                repl.js
                rewriter.js
                scope.js
                sourcemap.js
    
    
    D:\ispace\expresslearn\node_modules\coffee-script>
    

    我们发现这个文件夹里面有一个文件叫package.json

    name - 包名。
    version - 包的版本号。
    description - 包的描述。
    homepage - 包的官网 url 。
    author - 包的作者姓名。
    contributors - 包的其他贡献者姓名。
    dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
    repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
    main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫 express,然后用户安装它,然后require("express")。
    keywords - 关键字

    D:\ispace\expresslearn\node_modules\coffee-script>cat package.json
    {
      "_args": [
        [
          "coffee-script@~1.6.3",
          "D:\\ispace\\expresslearn\\node_modules\\swagger-ui"
        ]
      ],
      "_from": "coffee-script@>=1.6.3 <1.7.0",
      "_id": "coffee-script@1.6.3",
      "_inCache": true,
      "_installable": true,
      "_location": "/coffee-script",
      "_npmUser": {
        "email": "jashkenas@gmail.com",
        "name": "jashkenas"
      },
      "_npmVersion": "1.2.24",
      "_phantomChildren": {},
      "_requested": {
        "name": "coffee-script",
        "raw": "coffee-script@~1.6.3",
        "rawSpec": "~1.6.3",
        "scope": null,
        "spec": ">=1.6.3 <1.7.0",
        "type": "range"
      },
      "_requiredBy": [
        "/swagger-ui"
      ],
      "_resolved": "https://registry.npmjs.org/cof ... ot%3B,
      "_shasum": "6355d32cf1b04cdff6b484e5e711782b2f0c39be",
      "_shrinkwrap": null,
      "_spec": "coffee-script@~1.6.3",
      "_where": "D:\\ispace\\expresslearn\\node_modules\\swagger-ui",
      "author": {
        "name": "Jeremy Ashkenas"
      },
      "bin": {
        "cake": "./bin/cake",
        "coffee": "./bin/coffee"
      },
      "bugs": {
        "url": "https://github.com/jashkenas/c ... ot%3B
      },
      "dependencies": {},
      "description": "Unfancy JavaScript",
      "devDependencies": {
        "jison": ">=0.2.0",
        "uglify-js": "~2.2"
      },
      "directories": {
        "lib": "./lib/coffee-script"
      },
      "dist": {
        "shasum": "6355d32cf1b04cdff6b484e5e711782b2f0c39be",
        "tarball": "http://registry.npmjs.org/coff ... ot%3B
      },
      "engines": {
        "node": ">=0.8.0"
      },
      "homepage": "http://coffeescript.org",
      "keywords": [
        "coffeescript",
        "compiler",
        "javascript",
        "language"
      ],
      "licenses": [
        {
          "type": "MIT",
          "url": "https://raw.github.com/jashken ... ot%3B
        }
      ],
      "main": "./lib/coffee-script/coffee-script",
      "maintainers": [
        {
          "name": "jashkenas",
          "email": "jashkenas@gmail.com"
        },
        {
          "name": "michaelficarra",
          "email": "npm@michael.ficarra.me"
        }
      ],
      "name": "coffee-script",
      "optionalDependencies": {},
      "readme": "ERROR: No README data found!",
      "repository": {
        "type": "git",
        "url": "git://github.com/jashkenas/coffee-script.git"
      },
      "scripts": {
        "test": "node ./bin/cake test"
      },
      "version": "1.6.3"
    }
    
    

    相关文章

      网友评论

          本文标题:从零开始学习node.js(三)[纽约的老郑原创翻版必究]

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