Je suis en train de construire une bibliothèque d'éléments personnalisés aurelia qui seront utilisés par plusieurs applications aurelia différentes et j'ai du mal à faire en sorte que l'élément personnalisé html soit accroché au bundle de l'application correctement avec le processus CLI.
Je pense actuellement que la bibliothèque fera partie du package.json et sera donc répertoriée sous node_modules/my-lib. Quel devrait être le format du fichier .html à livrer ?
<template>...</template>
ou doit-il être livré dans le format requis
define('text!my-lib/component1.html', ['module'], function(module) { module.exports = "<template>\r\n ...
Dans le premier cas, que dois-je mettre dans aurelia.json pour qu'il soit inclus correctement dans le vendor-bundle ?
Si je fais resouces['../node_modules/my-lib/**/*.html'] dans la section de dépendance de my-lib - il est inclus comme html dans un fichier js qui lance une erreur.
Si j'ajoute comme source au vendor-bundle ou en utilisant mon propre bundle my-lib-bundle.js
"source": [
"[../node_modules/my-lib/**/*.js]",
"../node_modules/my-lib/**/*.{css,html}"
],
Rien n'est alors inclus, à l'exception du "main" listé dans la dépendance unique.
Si j'ajoute au markupProcess (qui semble plus lié à l'application et non à une bibliothèque)
"markupProcessor": {
"id": "none",
"displayName": "None",
"fileExtension": ".html",
"source": [
"src\\**\\*.html",
"..\\node_modules\\my-lib\\**\\*.html"
]
},
J'obtiens le html correctement ajouté à app-bundle mais il a le mauvais chemin parce qu'il inclut le '../node_modules' dans la définition donc il n'est pas trouvé quand l'application tente de l'utiliser.
Je n'utilise pas le CLI pour construire ma librairie car je veux que l'application n'inclue que les éléments qu'elle utilise. Ainsi, le JS est construit et livré au format AMD, mais je n'étais pas sûr du processus à suivre pour le HTML ?
Des suggestions ?