发布es6写的npm包遇到了这个坑

作者: MR__Fan | 来源:发表于2016-10-09 17:50 被阅读1337次

今天完成了yf-fpm-server的v2.0版本,是使用es6语法写的,兴致勃勃的 publish,结果使用的时候:


错误信息

大体的意思就是:不支持import关键字,也就是语法错误。
纠结了一会儿,大概得出了这么个结论,npm install到项目中的库是不能为es6语法的,还必须通过babel进行转译。
根据这个信息整理了一些资料:

解决思路:

  1. 将es代码剪切到src目录下
  2. 在publish之前通过babel将代码转译到lib目录下
  3. 将lib代码设置为main

实施方案:

  1. 在项目根目录下创建 .babelrc 文件,并写入转译规则:
{
  "presets": ["es2015", "stage-2"],
  "plugins": ["transform-runtime"],
  "comments": false
}
  1. 修改 package.json 文件:
"main": "lib/bin/app.js", //babel转译之后的代码
  "scripts": {
    "compile": "babel -d lib/ src/", //babel转译指令
    "prepublish": "npm run compile", //在publish操作之前触发这个指令
    "server": "node app.babel.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

再次执行
$ npm publish

开发的npm包终于可用了!

相关文章

  • 发布es6写的npm包遇到了这个坑

    今天完成了yf-fpm-server的v2.0版本,是使用es6语法写的,兴致勃勃的 publish,结果使用的时...

  • npm 发布包填坑指南

    最近使用 Npm 发布包时遇到了一些坑,集中记录下以便后续查看。 01. 就个人经验来说,我们写的包往哪儿发布,无...

  • npm 包发布经验分享

    重点阐述 npm 包发布前后所踩坑~ 踩坑札记 https 若 npm 包中 method 含协议类型为 http...

  • 2018-03-11

    今天下午想试试发布自己的npm包,结果试了半天,一输入npm publish就报错,因此想写一下自己在发布过程中遇...

  • 自定义npm包的创建、发布、更新和撤销

    大纲 1、准备2、自定义npm包3、发布自定义npm包4、引用npm包5、更新npm包6、撤销发布的npm包 博客...

  • 小程序开发本地npm的使用

    开发中复用的代码通常会封装成npm包,发布到npm源,项目中再依赖这个包。如果包的源码改动,需要先发布到npm上再...

  • npm操作

    npm所有者管理: npm登录: npm查看用户信息: 发布(包): npm撤销发布的包: npm退出: 初始化n...

  • npm包发布流程

    npm包发布流程 标签(空格分隔): Node.js npm包发布流程 注册npm账号 方式一:去npm官网注册 ...

  • 如何在npm发布一个包

    发布一个npm包 1 登录 npm 2 更新包版本号 3 发布 设置npm publish 时的发布文件(有时我们...

  • npm发包

    参考使用npm 发布自己写的第三方包-npm publish[https://juejin.cn/post/689...

网友评论

  • hylerrix:这个项目可以放出开源仓库地址么?如果可以的话,我们就能知道 "server": "node app.babel.js" 这句话的语境啦

本文标题:发布es6写的npm包遇到了这个坑

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