2016-10-24 11 views
0

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 */} 
+0

Der Fehler 'Modulvorlagen nicht gefunden' scheint hier nicht relevant, keiner Ihrer Code-Referenzen templateURL oder Vorlagen. Ärgert es sich darüber? – Mikkel

+0

Entschuldigung, ich werde die Spezifikationsdatei auch hinzufügen. Wo ich eigentlich das Modul – lmcadory

+0

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

Antwort

0

Ich weiß nicht, was das Problem war. Ich gehe immer noch davon aus, dass es eine Pfad-Sache war. Wir haben Babel und jemanden implementiert, wie das das behoben hat. Ich verstehe nicht wirklich wie, aber ich markiere dieses Problem als gelöst.

Verwandte Themen