zoukankan      html  css  js  c++  java
  • 读《了不起的NodeJS》笔记 - nodejs 包管理(NPM)

    关于node安装 篇幅很多就不再这里累赘;
    创建一个main.js文件:
    代码如下:

    var http = require('http');
    var colors = require('colors');
    console.log('Hello World'.rainbow);
    var server = http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end('<marquee>Learn NodeJS</marquee>');
    });
    server.listen(3000);
    

      

    require表示相关的依赖包;

    新版的node里面自动安装好了npm包管理器:
    npm install colors 

    即可安装所需的包

    在终端窗口

    node main.js 
    浏览器里面 打开 http://localhost:3000 即可执行效果

    一个简单的node程序就开始了。

    注意:ubantu下安装后的 执行命令 nodejs main.js 
    如果需要更改请自行查看相关文档。。

    自定义模块的好处:
    1、可以很方便地将项目分享给其他人,不必将整个node_modules目录发给其他人。有了package.json之后,npm install 即可
    2、可以很方便的记录所依赖板块的版本号
    3、让分享更简单,如果你的项目不错的话,可以通过npm publish发布到npm库里面中供所有人下载

    自定义一个colors模块

    {
        "name":"colors-project",
        "version": "0.0.1",
        "main": "./main",
        "dependencies":{
            "colors":"0.5.0"
        }
    }

    npm install 
    下载package中定义的模块
    node main 
    or
    node main.js

    即可

    npm publish
    发布到NPM库里面

    require(“colors-project”)

    main表示 所依赖的模块 在main.js文件中使用

    当包里面加上
        "private": true的时候 可以避免误发布


    直接npm publish 的时候 会报错:

    npm adduser
    输入你在https://www.npmjs.org/的账号 即可发布你的NPM模块

    然后如果你使用的话 可以 
    npm install colors-project

    即可

    如果自己开发的模块可以发布上去,分享代码 or 给客户部署的话 都会很方便的说。。。

    ------华丽的分割线--------

    安装二进制包:
    有的项目需要分发的是Node编写的命令行工具 
    这个时候需要增加 -g 标志

    npm install -g express

    比如我们的项目
    npm install -g meteorite 

    等等
    安装的时候可能会出现错误的情况:

    如果是在Linux 下的话 请使用root权限安装:
    sudo npm install  -g express

    输入管理员密码即可 

    windows下的话 使用管理员权限执行cmd 进行操作即可

    创建一个新目录:
    mkdir node-express
    cd  node-express
    express
    即可 创建一个express 目录

    node app
    即可执行express

    如果你安装了meteorite的 请使用

    mrt create node-mrt
    cd node-mrt
    mrt 

    就可以开启meteorite的一个hello world demo

    默认端口是3000

    // 可以通过
    npm search realtime
    nom view realtime
    等命令
    查看关于其他的模块


    相关NPM模块资料可查看:
    http://www.elmerzhang.com/2011/09/nodejs-module-develop-publish/
    http://www.infoq.com/cn/articles/msh-using-npm-manage-node.js-dependence

    Express资料:
    中文官方:http://expressjs.jser.us/
    英文官方:http://expressjs.com/

    Meteorite资料:
    https://github.com/oortcloud/meteorite
    https://www.meteor.com/

    以上代码已经测试,如还有错误,欢迎指正;联系QQ:470486732

  • 相关阅读:
    SQL 标准中的四种隔离级别
    java中快速排序的理解以及实例
    java中对插入排序的理解以及实例
    对冒泡排序的理解和实例
    MYSQL面试
    软件测试面试问题
    软件测试
    Linux常用命令
    关于将博客搬家至博客园的声明
    MFC常见问题以及解决方法(1)_MFC下文本编辑框按下回车后窗口退出
  • 原文地址:https://www.cnblogs.com/w3cjiangtao/p/3617770.html
Copyright © 2011-2022 走看看