zoukankan      html  css  js  c++  java
  • 读书笔记《七天学会NodeJS》(0)

    0. node 命令行参数选项
    
    1. 模块导出: exports与module.exports区别;
         module.exports 导出便是将要被导出的对象,exports则可认为是module.exports的引用对象(exports本身仅是一个空对象,此时用来声明接口)(两者均指向对一个对象的变量),
         实际上被导出或者说被require的便是module.exports对象指向的对象,而exports对象会在模块执行结束后被释放,但module不会。
         module.exports也可为导出函数(或构造函数)
    
    2. 模块引入: require路径记载解析规则以及内置模块、node_modules目录模块、相对路径和绝对路径下的自定义模块、NODE_PATH环境变量设置。
    
    3. 包(文件目录)组织和导出
        对于多个模块或较大的代码管理时采用包的形式来管理。
        1. 指定导出包下的模块,由导出模块组织子模块;
        2. index.js替代指定导出模块,以简化require书写格式,路径中可不需包含导出模块名(index模块名可不写,只写对应的包目录路径即可);
        3. package.json文件(一般称之为元数据文件),组织管理包中的模块(可更复杂、完善、规范的包开发),也简化了require书写格式;
        或者结合2和3或1和3均可(main字段的值对应的js文件模块作为包的入口接口模块)。
        
        如果package.json或main字段不存在,会尝试寻找index.js作为包的接口。
        package.json以及index.js可通过在包目录下执行"npm init"命令来产生package.json文件并配置必要的字段。
        
    4. 工程目录
        一般结构:
            some_package:
                bin    // 存放相关产生的文件或依赖的文件或包装的可执行文件、cmd/bat/sh等文件
                doc // 存放相关文档
                lib // 一般存放API相关的源码
                node_modules // 一般存放第三方的包
                test // 存放测试用例集
                package.json // 元数据描述文件
                README.md // 说明文件
                config    // 存放配置文件
                其他 // 其他信息或许可证等
                
    5. NPM(包管理工具)
        用途:从NPM服务器下载他人编写的三方包或者命令行程序到本地使用、或者上传自己编写的包或命令行程序上传到NPM服务器供他人使用。
        下载第三方包或命令行程序:
            npm install some_package // 此后便会在当前目录下下载指定的包,下载的内容将存放在所在当前目录下的node_modules目录中。
            通过该方式引入的第三方包在使用的时候,在代码中只需要通过require("some_package")即可,无需指定路径(相对或绝对等)。
            npm install some_package@1.0.1 // 此方式还可以下载指定版本的包 
            此外对于依赖多个三方包时,则可在项目的元数据描述文件中的dependencies属性中指定依赖包列表以及对应版本,这样在package.json所在目录下执行npm install即可下载所有的依赖包;
            上传到npm服务器后,他人下载该包时也会自动下载其依赖的其他三方包。
            (以上提到的当前目录一般是说当前命令行所在目录,此外安装命令行程序(即该包的package.json中bin字段有可用的命令行程序),
            则也可以是通过npm install -g xxx方式,全局安装到某个位置;
            可用npm config get prefix查询该位置,全局安装可重复利用、便于管理包;而不带=g选项安装方式称之为本地安装;此外全局安装可能会写入path环境变量,而本地安装不会)
            
        (NPM包管理处理比较友好,而Python包管理比较混乱、容易产生版本冲突,可借助virtualenv来解决包管理问题,以产生独立的环境)
        
        上传自己编写的包或者命令行程序:
            npm adduser // 注册、添加NPM账号; 若添加成功,可通过 npm whoami命令查询是否成功,取得了账号。
            编辑自己的包或命令行程序的package.json文件,指定必要的字段(可通过npm init命令产生该文件);
            (一般为name包名(需NPM服务器下名称唯一)、version版本号、dependencies三方包依赖列表、main入口模块位置、bin命令行程序名和主模块位置);
            在package.json所在目录下运行npm publish发布代码。
        
        NPM其他功能选项,参数,可通过npm help xxx查看对应的资料、文档说明,如npm、help、update、cache、public、install、unpublish等。
  • 相关阅读:
    最简明的JavaScript闭包解释
    REST vs SOAP
    MAC Objective-C 开发经典书籍推荐
    测试word版博客文章
    Sitecore CMS中删除项目
    Sitecore CMS中如何命名项目名称
    Sitecore CMS中查看标准字段
    Sitecore CMS中配置项目图标
    如何在Sitecore CMS中创建项目
    如何在Sitecore CMS中管理桌面快捷方式
  • 原文地址:https://www.cnblogs.com/haomiao/p/11650428.html
Copyright © 2011-2022 走看看