如何使用ES6和Babel制作并发布npm包

今天我们使用Babel来制作并且发布一个简单的npm包

  1. 首先在terminal中运行命令npm init,按照提示一步步输入,如果像我这样比较懒的话,也可以一直选默认值,最后生成了package文件,是这样的

     {
         "name": "es6-test",
         "version": "1.0.0",
         "description": "",
         "main": "index.js",
         "scripts": {
             "test": "echo \"Error: no test specified\" && exit 1"
     },
         "author": "",
         "license": "MIT"
     }
    
  2. 接下来我们新建一个入口文件,touch index.js,写入

     module.exports = function({percent = 100, amount}) {  
         const percentOff = (percent / 100) * amount;
         return percentOff;
     }
    

    Tips:在这里使用module.exports而不是ES6 export statement的原因是,希望ES5的用户也能够不需任何多余的工作就可以使用这个包。

  3. 如果现在直接发布的话,这个包是无法工作的,因为我们使用了ES6的feature,所以就需要Babel来帮忙啦,安装Babel

     npm install --save-dev babel-cli@6 babel-preset-es2015@6  
    
  4. 把Babel的预处理命令假如我们的package.json文件中,像这样

     "scripts": {
         "test": "echo \"Error: no test specified\" && exit 1",
         "build": "babel index.js --presets babel-preset-es2015 --out-dir .",
         "prepublish": "npm run build
     }
    

    同时也加入了 "prepublish": "npm run build",为发布做准备。

  5. 最后运行 npm publish,填上你的username,发布了,当然,你首先得注册个npm的developer账号。这样就可以通过 npm install es6-test 来安装你的包了。

  6. 运行结果

     > var offof = require("es6-test")
     undefined
     > offof({percent:50, amount:500})
       250
    

参考Link: https://booker.codes/how-to-build-and-publish-es6-npm-modules-today-with-babel/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,243评论 7 35
  • 原文链接:http://www.jianshu.com/p/2a9367afe9e7 1510997059(1)....
    悬笔e绝阅读 5,547评论 0 0
  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 6,515评论 2 71
  • 第一章 第一节 来自末世的预言 第二节 朋友间的秘密 第一节 第二节 在2008年的一天晚上,一个平凡的女高中生媛...
    294cfe96d700阅读 1,108评论 5 2
  • 游戏化的应用范围与形式 游戏化(以人性为中心的设计)的核心是八大驱动力,它影响着我们做任何事的动机。因此,游戏化几...
    Lzer0阅读 787评论 0 0