Node项目笔记

共享common代码

api端和client端要共享某些代码(如utils函数、数据库schema等),可以把这些代码打包成本地npm包:

  1. 在代码目录下定义package.json

    1
    2
    3
    4
    5
    6
    {
    "name": "foo",
    "version": "1.0.0",
    "dependencies": { ... },
    "devDependencies": { ... }
    }
  2. 用babel将es6编译成es5,拷贝package.json到生成的lib/目录,然后在lib/中打包

    1
    2
    3
    4
    #!/bin/sh 
    rm -fr lib/ && babel -d lib/ src/
    cp package.json lib/
    (cd lib/ && npm pack)
  3. lib目录下用npm pack将目录打包成tgz文件,比如你在package.json中设置包名为foo版本为1.0.0,则会生成foo-1.0.0.tgz。还可以通过tar -tf foo-1.0.0.tgz来查看包中内容。

  4. npm install /path/to/foo-1.0.0.tgz