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 ###

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值