摘要:包如何支持子路徑目前看到了兩種做法。最終,以根目錄下的為基準(zhǔn),將此包發(fā)布出去。通過(guò)能夠正常處理此種類(lèi)型的庫(kù),但是像等需要解析文件的可能會(huì)查找失敗。這種方案最終輸出到上的文件也更少,省得再寫(xiě)了。目前來(lái)看,兼容性更強(qiáng)一些。
npm 包如何支持子路徑?
目前看到了兩種做法。
redux-saga一種是像 redux-saga/effects 一樣,其實(shí)際的資源文件在 lib/cjs/effects 下,但在根目錄下放置一個(gè)同名的 effects 目錄,目錄下放置一個(gè) package.json,相當(dāng)于軟鏈接一般,將 redux-saga/effects 視為一個(gè)私有庫(kù),由 main: ../lib/cjs/effects 指向?qū)嶋H的代碼所在。 最終,以根目錄下的 package.json 為基準(zhǔn),將此包發(fā)布出去。
npm 通過(guò) npmFileMap 能夠正常處理此種類(lèi)型的庫(kù),但是像 gulp 等需要解析 node_modules 文件的可能會(huì)查找失敗。
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
另外一種是類(lèi)似于 rxjs/operators 的方案,當(dāng) build 出 lib 目錄后,直接復(fù)制一份 package.json 到 lib 目錄下,然后在 lib 下 npm publish。這種方案最終輸出到 npm 上的文件也更少,省得再寫(xiě) .npmignore 了。目前來(lái)看,兼容性更強(qiáng)一些。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90158.html
代碼組織和部署 模塊的路徑解析規(guī)則 require支持/或者盤(pán)符的絕對(duì)路徑,也支持./開(kāi)頭的相對(duì)地址同時(shí)require也支持第三種寫(xiě)法 內(nèi)置模塊 如果傳遞給require的函數(shù)是node.js的內(nèi)置模塊,將會(huì)不做路徑解析,直接返回內(nèi)部exports模塊要導(dǎo)出的對(duì)象 node_modules目錄 node.js定義一個(gè)node_modules存放模塊,每次使用foo/bar的方式的時(shí)候,會(huì)先尋找該目...
摘要:注意此處獲取的數(shù)據(jù)是更新后的數(shù)據(jù),但是獲取頁(yè)面中的元素是更新之前的鉤子函數(shù)說(shuō)明組件已經(jīng)更新,所以你現(xiàn)在可以執(zhí)行依賴(lài)于的操作。鉤子函數(shù)說(shuō)明實(shí)例銷(xiāo)毀 Vue -漸進(jìn)式JavaScript框架 介紹 vue 中文網(wǎng) vue github Vue.js 是一套構(gòu)建用戶(hù)界面(UI)的漸進(jìn)式JavaScript框架 庫(kù)和框架的區(qū)別 我們所說(shuō)的前端框架與庫(kù)的區(qū)別? Library 庫(kù),本質(zhì)上是一...
摘要:階段是事件循環(huán)的第一階段習(xí)慣上往往都會(huì)設(shè)置數(shù)將回調(diào)函數(shù)添加到事件循環(huán)的階段的隊(duì)列中等待執(zhí)行。 后端知識(shí)點(diǎn)總結(jié)——NODE.JS(高級(jí)) 1.Node入門(mén): 什么是: 針對(duì)網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的平臺(tái)主要特征: 基于Google的JavaScript運(yùn)行時(shí)引擎V8 擴(kuò)展了Node標(biāo)準(zhǔn)類(lèi)庫(kù): TCP,同步或異步文件管理,HTTP 為什么使用Node: 可以在服務(wù)器端運(yùn)行js: 現(xiàn)有前端團(tuán)隊(duì)可直...
摘要:簡(jiǎn)介使用搭建一個(gè)傳統(tǒng)的多頁(yè)面前端項(xiàng)目的開(kāi)發(fā)環(huán)境支持編譯支持支持開(kāi)發(fā)環(huán)境和打包生成支持文件變動(dòng)自動(dòng)刷新瀏覽器,是熱更新改動(dòng)無(wú)需刷新瀏覽器即可更新支持新增文件沒(méi)無(wú)需重啟,即可改動(dòng)自動(dòng)刷新瀏覽器支持命令生成雪碧圖和對(duì)應(yīng)支持,使用的插件是支持 gulp-easy github 1、簡(jiǎn)介 使用gulp搭建一個(gè)傳統(tǒng)的多頁(yè)面前端項(xiàng)目的開(kāi)發(fā)環(huán)境 支持pug scss es6編譯支持 支持開(kāi)發(fā)環(huán)境和打...
摘要:引言本周精讀的文章是。精讀總的來(lái)說(shuō),雖然拆分子倉(cāng)庫(kù)拆分子包是進(jìn)行項(xiàng)目隔離的天然方案,但當(dāng)倉(cāng)庫(kù)內(nèi)容出現(xiàn)關(guān)聯(lián)時(shí),沒(méi)有任何一種調(diào)試方式比源碼放在一起更高效。前端精讀幫你篩選靠譜的內(nèi)容。 1. 引言 本周精讀的文章是 The many Benefits of Using a Monorepo。 現(xiàn)在介紹 Monorepo 的文章很多,可以分為如下幾類(lèi):直接介紹 Lerna API 的;介紹如何...
閱讀 2030·2021-08-21 14:09
閱讀 493·2019-08-30 15:44
閱讀 2116·2019-08-29 16:32
閱讀 1381·2019-08-29 15:36
閱讀 3449·2019-08-29 12:43
閱讀 2786·2019-08-29 11:14
閱讀 438·2019-08-28 18:26
閱讀 2257·2019-08-26 13:57