博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
npm 包如何支持子路径?
阅读量:7234 次
发布时间:2019-06-29

本文共 786 字,大约阅读时间需要 2 分钟。

npm 包如何支持子路径?

目前看到了两种做法。

redux-saga

一种是像 redux-saga/effects 一样,其实际的资源文件在 lib/cjs/effects 下,但在根目录下放置一个同名的 effects 目录,目录下放置一个 package.json,相当于软链接一般,将 redux-saga/effects 视为一个私有库,由 main: ../lib/cjs/effects 指向实际的代码所在。 最终,以根目录下的 package.json 为基准,将此包发布出去。

npm 通过 npmFileMap 能够正常处理此种类型的库,但是像 gulp 等需要解析 node_modules 文件的可能会查找失败。

root/package.json

{  "npmName": "redux-saga",  "npmFileMap": [    {      "basePath": "/dist/",      "files": [        "*.js"      ]    }  ]}

effects/package.json

{  "name": "redux-saga/effects",  "private": true,  "main": "../lib/effects.js",  "module": "../es/effects.js",  "jsnext:main": "../es/effects.js"}

rxjs

另外一种是类似于 rxjs/operators 的方案,当 build 出 lib 目录后,直接复制一份 package.jsonlib 目录下,然后在 libnpm publish。这种方案最终输出到 npm 上的文件也更少,省得再写 .npmignore 了。目前来看,兼容性更强一些。

转载地址:http://eolfm.baihongyu.com/

你可能感兴趣的文章
Cocos2d-x Lua中生命周期函数
查看>>
ruby学习总结01
查看>>
bzoj 1193
查看>>
mysql Client does not support authentication protocol requested by server; consider upgrading MySQL
查看>>
MapReduce中的map与reduce
查看>>
SGU 188.Factory guard
查看>>
ASP.NET MVC 4 (十二) Web API
查看>>
C# 三种打印方式含代码
查看>>
关于适配器模式一些分析
查看>>
PAT天梯赛L2-001. 紧急救援 dijk经典最短路劲+点权最大+记录路径
查看>>
软件项目管理系统
查看>>
简单的JS功能
查看>>
python基础学习笔记一
查看>>
国外主机海外主机测评总结
查看>>
POJ 3186 Treats for the Cows ——(DP)
查看>>
Java之多线程(1) - Race Condition引起的性能问题
查看>>
Python_collections_namedtuple可命名元组
查看>>
纯js日历插件
查看>>
TransactionScope
查看>>
144. Binary Tree Preorder Traversal
查看>>