Node.js学习笔记02-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Node.js学习笔记02

简介: Node.js学习

代码的部署与组织

要添砖先搭框架,现代楼房遵循的原理,我们编写程序也是一样的。

  • 模块路径解析规则
  1. 内置模块直接调用,例如:require('fs');
  2. node_modules目录
    这里一般说的是我们npm install后的模块,也是可以直接调用,比如:require('react');
  3. NODE_PATH环境变量
    与PATH环境变量类似,NodeJs允许通过NODE_PATH指定额外的模块搜索路径。
  • 包(package)
    • 人大代表就是代表我们每个人民去发表大家的意见。这里的包就相当于人大代表,人民就相当于子模块。
    • 因此我们需要一个入口文件entry.js来集合其他子模块。
    • 但是我们引入包的时候还是要require('##/entry.js'),显得并不是很好,于是在包目录下创建一个package.json文件配置路径,直接访问包。
      例如:

-test/

    -lib/

        part1.js

        part2.js

        entry.js

    package.json

  • package.json如下

{

    "name":"test",

    "main":"./lib/entry,js"

}

  • 这样一来可以直接require(./test)加载模块
  • 命令行程序
  1. 使用NodeJS编写的东西,要么是一个包,要么是一个命令行程序,而前者最终也会用于开发后者。因此我们在部署代码时需要一些技巧,让用户觉得自己是在使用一个命令行程序。
  2. 如果我们已经把程序编写完成,把该程序放在/home/user/bin/node-echo.js,这样用户在任何位置都可以命令运行这个程序

node-echo Hello World

  • Linux
  1. 在Linux系统下,我们可以把JS文件当作shell脚本来运行,从而达到上述目的,具体步骤如下:
    1. 在shell脚本下,我们用#!来注释当前脚本使用的解析器,因此需要在node-echo.js文件注明#! /usr/bin/env node
    2. 然后用下面的命令赋予node-echo.js权限

$ chmod +x /home/user/bin/node-echo.js

    1. 最后,我们在PATH环境变量中指定的某个目录下,例如在/usr/local/bin下边创建一个软链文件,文件名与我们希望使用的终端命令同名,命令如下:

 $ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo

  • Windows
    windows下需要我们通过.cmd解决问题。假设node-echo.js存放在C:Usersuserbin目录,并且该目录已经添加到PATH环境变量里了。接下来需要在该目录下新建一个名为node-echo.cmd的文件,文件内容如下:

@node "C:\User\user\bin\node-echo.js" %*

  • 工程目录

    - test/ 总目录

         -bin/ 命令代码

         -public/ 文档代码

         -lib/ 

         -node_modules/ 第三方包

         -tests/ 存放测试用例

     package.json 原数据文件

     README.md 说明文件

  • NPM
  1. 这个很简单,最多是用来下载第三方包,命令为npm install ###

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章