Bevor ich zu den unzähligen doppelten Fragen weitergeleitet werde. Ich möchte, dass alle wissen, dass ich sie überprüft habe und ihre Lösungen ausprobiert habe, aber es funktioniert nicht für mich. Ich denke, das Problem ist mit meinem Weg, aber so wie unser Projekt aufgebaut ist, kann ich nicht herausfinden, was falsch ist. Also werde ich unser Projekt Layout und hoffentlich kann mir jemand helfenWie bekomme ich TemplateURLs, um mit eckigen zu arbeiten?
wir die Komponenten Prozess verwenden und das Projekt strukturiert ist wie so:
src
-app
-components
-some-component
components.some-component.module.js
some-component.html
some-component.component.js
some-component.component.spec.js
config.js
gulpfile.js
karma.conf.js
karma.conf.js
var config = require('./config');
module.exports = function(karmaConfig){
karmaConfig.set({
files: [].concat(
config.source.js.libraries,
config.source.js.testLibraries,
config.source.js.apps,
config.source.js.tests,
'**/*.html' // this is me trying path stuff
},
frameworks: ['mocha','sinon-chai'],
....
plugins: [
'karma-firefox-launcher',
'karma-mocha',
'karma-sinon-chai',
'karma-ng-html2js-preprocessor'
],
preprocessor: {
'**/*.html' : ['ng-html2js']
},
ngHtml2JsPreprocessor: {
stripPrefix: 'src/app',
moduleName: 'templates',
cachedIdFromPath: function(filepath){
console.log('File ' + filepath);
return filepath;
}
});
}
Die Datei config.js ist lang. Es ist ein zentraler Speicherort für alle Dateipfadpfade. Ich werde einen Abschnitt der Datei zur Verfügung stellen:
module.exports = {
angular: {
source: {
js: {
app: [
'src/app/**/*.module.js',
'src/app/**/*.js',
'!src/app/**/*.spec.js'
]
}
}
}
};
Der Fehler Ich erhalte ist Modul ‚Vorlagen‘ ist nicht verfügbar. Wie ich schon sagte, habe ich alle möglichen Lösungen versucht, aber ich kann das Problem nicht lösen. Jede Hilfe wird sehr geschätzt und ich werde diese Fragen bei Bedarf detaillierter aktualisieren.
Vielen Dank im Voraus.
Bearbeiten Spezifikationsdatei.
describe('component: some-component', function(){
beforeEach(module('app.components.some-component'));
beforeEach(module('templates'));
.....
});
Die some-component.component.js Datei:
angular
.module('app.components.some-component')
.component('someComponent', {
templateUrl: 'components/some-component/some-component.html',
....
}
});
function Controller(){/* function code here */}
Der Fehler 'Modulvorlagen nicht gefunden' scheint hier nicht relevant, keiner Ihrer Code-Referenzen templateURL oder Vorlagen. Ärgert es sich darüber? – Mikkel
Entschuldigung, ich werde die Spezifikationsdatei auch hinzufügen. Wo ich eigentlich das Modul – lmcadory
aufrufen, wenn Sie app.components.some-Komponente nur durch "App" in Ihrer Datei "some-component.component.js" ersetzen, funktioniert es? Ich hatte ein ähnliches Problem, aber ich bin nicht über die Antwort – Wandrille