如果我使用babel-plugin-transform-runtime
插件,那麼我的代碼將import
/require
babel-runtime
而不是將所有這些輔助函數內聯。這很好,但它使我的圖書館具有依賴關係babel-runtime
。我寧願做的是讓巴貝爾提取一個額外的文件(./babel-runtime
),並將其與其他輸出文件放在一起,這樣我就不必將其作爲外部依賴關係包含它。也就是說,我不需要在我的庫被使用的任何地方添加到package.json
。這可能嗎?如何在沒有外部依賴的情況下使用babel-runtime轉換?
回答
您可以通過使用moduleName
選項在transform-runtime
插件導入自定義模塊,而不是babel-runtime
:
{
"plugins": [
["transform-runtime", {
"moduleName": "./babel-runtime"
}]
]
}
如果我的庫目錄結構不平坦,模塊路徑將會中斷。另外,你是否建議將'babel-runtime'從我的'node_modules'中複製到我的dist中,或者是什麼? – mpen
@mpen是;你說你不想使用'babel-runtime'作爲外部依賴,所以你可以用它作爲本地模塊。但也許我誤解了你的問題。你能解釋你實際想要達到的目標嗎?包含'babel-runtime'作爲外部依賴項有什麼問題? –
如果我編寫一個庫,它依賴於babel-runtime,那麼使用我的庫的任何人都必須安裝它。我想它變成了「同伴依賴」。我不想在我的小實用程序庫中有任何依賴關係。如果這是一個單一的項目,當然,幾個額外的代價並不是什麼大不了的,但對於一小組幫助函數來說,這並不好。想象一下,如果lodash需要babel運行時。 – mpen
我發現的唯一的解決辦法是不使用babel-plugin-transform-runtime
插件,並添加exclude: ['transform-regenerator']
到你的配置。這將阻止Babel添加對再生器的依賴。這也意味着您的代碼不會在舊版瀏覽器中運行。
如果您需要舊版瀏覽器的支持,您可以嘗試fast-async
。它說有一種方法可以只依賴索引文件內聯依賴項,但我還沒有嘗試過。我相信這是假定瀏覽器支持Promises,但不支持異步/等待。
- 1. 如何在沒有外部依賴的情況下創建wxWidgets應用程序?
- 2. 如何在沒有Browserify的情況下使用CommonJS依賴項?
- 3. 如何在沒有外部依賴的情況下在Ruby中生成圖像?
- 4. .NET在沒有外部依賴的情況下在Winform中打開PDF
- 5. 如何在不使用DLL的情況下運行沒有依賴的DLL?
- 6. 如何在沒有任何外部依賴的情況下從java應用程序調用php web服務?
- 7. 在使用依賴注入時,有沒有'新'的情況?
- 8. 在沒有任何DI庫的情況下使用依賴注入
- 9. grails/gradle如何在沒有版本規範的情況下下載依賴項
- 10. 如何在沒有iframe的情況下包含外部表單?
- 11. 在沒有容器的情況下解決EJB依賴關係
- 12. 在沒有openjdk依賴的情況下安裝cassandra
- 13. Kickstart在沒有依賴關係的情況下安裝RPM
- 14. 在沒有密碼依賴的情況下在PostgreSQL中加載SQL轉儲
- 15. 如何在沒有使用iframe的情況下在GWT中插入外部jsp
- 16. 如何在沒有任何依賴性檢查的情況下運行gradle?
- 17. 如何在沒有依賴關係的情況下在C++中創建webbrowser?
- 18. 如何在沒有循環依賴的情況下在GraphQL中拆分模式?
- 19. 如何在沒有microsoft.office.interop的情況下將PDF轉換爲doc?
- 20. 在沒有轉換的情況下Java將int []轉換爲byte []
- 21. 如何在沒有平臺依賴的情況下以C複製文件?
- 22. 如何在沒有「可選」依賴的情況下安裝SpringSource Tool Suite(STS)?
- 23. 如何在沒有依賴關係的情況下編譯spring-boot-maven-plugin?
- 24. 如何在沒有解包依賴jar的情況下運行TestNG suite with failsafe?
- 25. 如何在沒有本地依賴的情況下收縮npm模塊
- 26. 如何在沒有IDE依賴的情況下構建/測試Scala?
- 27. 如何在NetBeans中沒有父項目的情況下構建Maven依賴項
- 28. 在沒有外部URL的情況下調用ajax
- 29. 如何在不使用npm依賴的情況下使用webpack捆綁庫?
- 30. 在不包含外部依賴關係的情況下創建JAR文件
不會將您的代碼與webpack或Rollup捆綁在一起解決此問題嗎? –
@MichałPerłakowski嗯,我不想預先webpack它。這個想法是將我的庫作爲ES6模塊進行分發,以便消費者可以將它抖動。不確定彙總如何避免運行時依賴。 – mpen