美文网首页
npm开发流程

npm开发流程

作者: 寂寞的原子 | 来源:发表于2018-03-20 12:15 被阅读37次

    场景:开发一个库foobar,在app中测试和使用。

    方案一:link

    将开发中的foobar link到全局,然后在app中通过link安装。

    cd path/to/foobar
    npm link
    
    cd path/to/app
    npm link foobar
    

    然后就可以按正常流程编译和使用了。

    缺陷:

    • 由于foobar的实际路径不在node_modules中,可能会被webpack强制进行二次编译,出现意外的问题。

    方案二:publish

    发布一个测试版。

    cd path/to/foobar
    npm version [ premajor | preminor | prepatch | prerelease | 1.0.0-alpha.0 ]
    npm publish --tag next
    
    cd path/to/app
    npm install foobar@next
    

    如果不传--tag next,则相当于用了--tag latest
    为了防止发布的时候忘记加tag,可以在package.json里加上:

    {
      "publishConfig": {
        "tag": "next"
      }
    }
    

    然后就跟使用正式版的流程没有什么区别了。

    缺陷:

    • 每次改动都需要重新发版。

    附:正式发布

    # 附:正式发布
    cd path/to/foobar
    npm version [ major | minor | patch | 1.0.0 ]
    npm publish
    
    # 使用正式版
    cd path/to/app
    npm install foobar@*
    

    附:几点建议

    • 不要将强大的npm versionnpm publish写死到npm命令中。
    • 可以通过preversionprepublish等钩子来实现一些前置或后置操作,从而避免上一条中提到的情况。

    为了方便使用,可以这样配置foobar/package.json

    {
      ...
      "scripts": {
        ...
        "prepublish": "npm run ci && npm run build"
      }
    }
    

    相关文章

      网友评论

          本文标题:npm开发流程

          本文链接:https://www.haomeiwen.com/subject/ejgvqftx.html