2017-10-25 2 views
0

In Glimmer-Anwendung möchte ich die externe Js-Datei mit app.js Datei bündeln. Ich möchte Svg in Glimmer-Anwendung verwenden. Anstelle von ember-inline-svg habe ich Broccoli-Flatiron- und Broccoli-Merge-Trees-Pakete verwendet, um externe js-Dateien mit app.js zu bündeln.Bäume: {mergetrees (['src', externe js-Datei])} in ember-cli-build.js funktioniert nicht

Mein Code in glut-cli-build.js ist

const GlimmerApp  = require('@glimmer/application-pipeline').GlimmerApp; 
const merge   = require('merge'); 
const fs    = require('fs'); 
const Funnel   = require('broccoli-funnel'); 
const flatiron  = require('broccoli-flatiron'); 
const mergeTree  = require('broccoli-merge-trees'); 

module.exports = function(defaults) { 
var options=merge(true, {}, { 
    paths: ['src/ui/styles/svgs'] 
}); 

var svgs = mergeTree(options.paths.filter(function(path) { 
    return fs.existsSync(path); 
})); 

svgs = new Funnel(svgs, { 
    include: [new RegExp(/\.svg$/)] 
}); 

svgs = flatiron(svgs, { 
    outputFile: 'svgs.js', 
    trimExtensions: true, 
    variableName : "const svgs = " 
}); 

let app = new GlimmerApp(defaults, { 

    trees:{ 
    src:mergeTree(['src',svgs]) 
    } 


    }); 

return app.toTree(); 

}; 

Aber es gibt einen Fehler "Modultyp 'SVGs' nicht identifiziert werden konnte" ...

Ich möchte Bundle svgs mit app.js.

+0

„es funktioniert nicht“ ist ein wenig vague- Können Sie weitere Details zu addieren, was Fehler, den Sie bekommen? –

+0

@SteveH. meine bearbeiteten Änderungen – Kishore

Antwort

0

Versuchen Sie, die Bäume wie diese statt zu fusionieren:

… 

module.exports = function(defaults) { 
    … 

    let app = new GlimmerApp(defaults, { 
    }); 

    return mergeTree([app.toTree(), svgs]); 
};