内容简介:最近在写一个新的 JavaScript 库,叫做为了保证在包发布时 Flow 类型会被删除掉,我在package.json中定义了build脚本,然后设置了prepublish事件触发build脚本:奇怪的是,在执行npm publish时我明明看到了build脚本被触发了但打包时却没有引入lib目录。这样打包出来的库不能用,因为index.js里面引用的文件都来自于lib目录而非src目录。打包时的输出时这样子的:
最近在写一个新的 JavaScript 库,叫做 dice-chance ,用来分析掷骰子的概率。计划是库写完了就用 PWA 封装一下发布给大家用。因为在写的时候用到了 Flow 做类型声明,所以源代码文件不能不经处理直接被调用,必须经过flow-remove-types处理一下删除 Flow 类型声明。
为了保证在包发布时 Flow 类型会被删除掉,我在package.json中定义了build脚本,然后设置了prepublish事件触发build脚本:
"scripts": { "build": "flow-remove-types src/ -d lib/", "prepublish": "yarn run build"},
奇怪的是,在执行npm publish时我明明看到了build脚本被触发了但打包时却没有引入lib目录。这样打包出来的库不能用,因为index.js里面引用的文件都来自于lib目录而非src目录。打包时的输出时这样子的:
$ npm publish --dry-run> dice-chance@2.0.1 prepublish .> npm run build> dice-chance@2.0.1 build .> flow-remove-types src/ -d lib/src/Analyzer.js ↳ lib/Analyzer.jssrc/DiceChance.js ↳ lib/DiceChance.jssrc/Parser.js ↳ lib/Parser.jssrc/Tokens.js ↳ lib/Tokens.jssrc/__tests__/Analyzer-test.js ↳ lib/__tests__/Analyzer-test.jssrc/__tests__/DiceChance-test.js ↳ lib/__tests__/DiceChance-test.jssrc/__tests__/Parser-test.js ↳ lib/__tests__/Parser-test.jsnpm noticenpm notice
以上所述就是小编给大家介绍的《NPM 打包时该忽略哪些文件?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!