簡體   English   中英

XD插件中的npm軟件包或Node.js API

[英]npm packages or Node.js APIs in XD Plugins

我正在嘗試為Adobe XD構建插件。 我想在代碼中使用一些npm包以及一些Node.js API。 這可能嗎?

Javascript支持頁面上說您可以使用某些npm軟件包(某些可能需要webpack)。 但是,不支持Node.js api。

我可以使用npm軟件包或Node.js API嗎?

您可能可以使用某些npm軟件包而無需進行修改,但是很有可能需要使用webpack或匯總來生成包。

不支持Node.js API本身。

您可以在Adobe XD插件中使用一些 npm軟件包,但是需要牢記以下約束:

  • XD的require函數不遵循節點樣式的分辨率。 也就是說, require('module')不會自動解析為node_modules/module/index.js 為了解決這個問題,您將需要使用捆綁器,例如webpack 有關使用webpack和React的示例,請參見ui-hello-react示例。

  • XD JavaScript環境沒有提供許多節點模塊可能依賴的許多節點API。 例如,使用Node的fs模塊的npm軟件包將無法在Adobe XD插件中使用。 但是,只要它們僅依賴JavaScript規范本身,純算法npm軟件包就應該起作用。

  • 此外,如果您的npm包依賴特定的瀏覽器API,那么Adobe XD提供的HTML5 DOM API環境可能還不夠。 例如,Web Audio API不適用於Adobe XD插件,因此任何需要使用該模塊的npm軟件包均不起作用。

對於某些包裝,添加存根或填充料就足夠了。 例如,如果模塊需要,可以對requestAnimationFrame存根,如下所示:

global.requestAnimationFrame = cb => cb();

現在這不是功能性的 rAF,但對於您正在使用的程序包可能就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM