0
0

NPM 打包时该忽略哪些文件?

Cat Chen 发表于 2018年11月08日 15:20 | Hits: 740
Tag: ignore | javascript | npm

最近在写一个新的 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 

原文链接: http://feedproxy.google.com/~r/CatChen/Chinese/~3/aomjZmm71a0/what-npm-ignores-at-publishing-time.html

0     0

评价列表(0)