0

gulpfile を介して SystemJS ビルド ツールを使用して、Angular 2 & BreezeJS アプリケーションをビルドしようとしています。ただし、ビルド タスクを実行しようとすると、Multiple anonymous definesエラーが発生します。

一方、自分のページに直接インクルードしてアプリケーションを実行するsystem.jssystemjs.config.js、問題なく動作します。

では、このエラーは正確には何を意味し、systemjs-builder でアプリケーションをビルドすることは可能でしょうか?

  • そよ風-クライアント: 1.6.0
  • システムjs: 0.19.41
  • systemjs ビルダー: 0.15.34

systemjs.config.js

(function (global) {
    "use strict";

    System.config({
        defaultJSExtensions: true,
        paths: {
            "npm:": "node_modules/"
        },
        map: {
            "app": "app/main",
            "@angular/core": "npm:@angular/core/bundles/core.umd",
            "@angular/common": "npm:@angular/common/bundles/common.umd",
            "@angular/compiler": "npm:@angular/compiler/bundles/compiler.umd",
            "@angular/http": "npm:@angular/http/bundles/http.umd",
            "@angular/platform-browser": "npm:@angular/platform-browser/bundles/platform-browser.umd",
            "@angular/platform-browser-dynamic": "npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd",
            "rxjs": "npm:rxjs",
            "datajs": "npm:datajs/index",
            "breeze-client": "npm:breeze-client/breeze.debug",
            "breeze-bridge-angular2": "npm:breeze-bridge-angular2/index",
        }
    });
})(this);

gulpfile.js

"use strict";

var gulp = require("gulp");

gulp.task("build", function () {
    var Builder = require("systemjs-builder");
    var builder = new Builder("", "./systemjs.config.js");

    return builder.buildStatic("app", "./app/app.js", { encodeNames: false })
        .catch(function (error) {
            console.log("error", error);
        });
});
4

1 に答える 1

0

問題はbreeze.debug.js、コア Breeze ファイルとその中のすべてのアダプターが含まれていることです。

breeze.base.debug.js解決策は、別のアダプターを使用することです。

重要な違いの 1 つは、追加のアダプターをアプリケーションに明示的にインポートする必要があることです。これを行うのに理想的な場所はentity manager.

これが実際の例です。また、使用中のタスクとエラーで失敗したbuild-breeze.debugタスクも含まれています。 https://github.com/forCrowd/Labs-BreezeJS-SystemJSBuilderbreeze.debug.jsMultiple anonymous defines

于 2016-12-30T11:59:59.727 に答える