我正在尋找最佳方式來安排我的代碼庫與不同項目之間共享的公共資源。我有三個aurelia應用程序。在每一個資源文件夾中添加了一些資源(自定義元素,屬性等)。當我需要一個已經寫在另一個項目中時,我只是貼了它。現在我有時間重新考慮了,我想將所有這些資源移動到專用存儲庫中。然後,我希望能夠在每個項目中只選擇我需要的資源。Aurelia外部資源
我試過把我所有的資源都放在一個repo中,用aurelia框架中的gulp構建任務,它允許我構建所有模塊的AMD模塊。然後,我可以通過在aurelia.json中添加它們來單獨加載一些模塊。對於爲例一個屬性:
{
"name": "aurelia-resources-progress-button",
"path": "../node_modules/SHG-aurelia-resources/dist/amd/resources/attributes",
"main": "progress-button"
}
或自定義元素:
{
"name": "aurelia-resources-avatar-upload",
"path": "../node_modules/SHG-aurelia-resources/dist/amd/resources/elements/avatar-upload",
"main": "avatar-upload",
"resources": [
"avatar-upload.html",
"avatar-upload.css"
]
}
它像一個風情萬種,但它失敗的值轉換器,它從相對路徑導入模塊。 該文件位於:
"projectRoot/node_modules/SHG-aurelia-resources/dist/amd/resources/value-converters/duration-format.js", it import from '../utils./strings'
和
我是說我AU運行出現以下錯誤:
"Error: ENOENT: no such file or directory, open '/Users/hadrien/Documents/dev/SportHeroes/united-heroes/src/resources/utils/strings.js'".
奇怪的是,當我需要一個相對模塊從一個模板(就像在我的進度按鈕自定義屬性中)沒有問題。
我不想製作插件,因爲我不想加載我的回購的每個模塊。我想,如果可能的話,將能夠設置.feature ('../node_modules/path/resources')
並加載它們就像我加載我的本地資源。
我該怎麼辦?
爲什麼你不希望使用的插件嗎?插件和功能的API幾乎相同。您已經通過NPM包分發資源,因此正確的方法是通過插件API。 –
因爲我不想加載每個模塊。想象一下,我的外部資源中有10個模塊。應用程序A使用10,我可以使用插件。但是App B只使用2個模塊,我只想加載這兩個模塊。 –
使用插件時,您不必「加載每個模塊」。 –