J'ai créé un SPA en utilisant Aurelia avec tapuscrit et WebApi. Je veux regrouper tout en utilisant aurelia-cli
afin de minimiser la demande afin d'améliorer les performances d'accès. J'ai la configuration suivante:Composants personnalisés du bundle Aurelia
var aurelia = require("aurelia-cli");
var bundleConfig = {
js: {
"Scripts/aurelia-bundle": {
modules: [
"github:aurelia/*",
"Components/**/*.js"
],
options: {
inject: true,
minify: true
}
}
},
template: {
"Scripts/aurelia-bundle": {
pattern: "Components/**/*.html",
options: {
inject: true
}
}
}
};
aurelia.command("bundle", bundleConfig);
Un componenet de base serait:
import {bindable, inject} from "aurelia-framework";
export class Home {
// Custom properties
constructor() {
// Implementation
}
// Other methods
}
Tous mes views
et viewmodels
sont situés à l'intérieur du Components
. Si je supprime "Components/**/*.js"
des importations de module, l'ensemble se termine et il génère le fichier js fourni. Si je laisse cette ligne là, je reçois l'erreur suivante:
info: Creating bundle ...
err Error: ENOENT, open 'C:\Work\aurelia-framework.js'
at Error (native) C:\Work\node_modules\jspm\node_modules\systemjs-builder\lib\builder.js:23
throw new Error('Unhandled promise rejection.\n' + reason && reason.stack ||
^
Error: Error: ENOENT, open 'C:\Work\aurelia-framework.js'
at Error (native)
at C:\Work\node_modules\jspm\node_modules\systemjs-builder\lib\builder.js:23:9
at Object.lib$rsvp$events$$default.trigger (C:\Work\node_modules\jspm\node_modules\rsvp\dist\rsvp.js:245:13)
at null._onTimeout (C:\Work\node_modules\jspm\node_modules\rsvp\dist\rsvp.js:779:47)
at Timer.listOnTimeout (timers.js:119:15)
Je suppose que le problème est que le aurelia-cli
ne peut pas voir aurelia-framework
importer à partir du fichier typescript
, mais il compile et transpiles parfaitement.
Donc, ma question est comment puis-je inclure mes composants personnalisés dans le faisceau?
peut-être [this] (http://blog.durandal.io/2015/06/23/bundling-an-aurelia-application/#importantnoteswhenbundlingjs) –
Ce n'est pas un problème. J'ai essayé de mettre des fichiers 'typescript' vides dans les sous-répertoires dans le dossier' Components' et la commande bundle fonctionne parfaitement –