【问题标题】:Javascript execution order issue in bundled typescript捆绑打字稿中的 Javascript 执行顺序问题
【发布时间】:2015-11-26 00:36:07
【问题描述】:

我在打包时遇到了生成的 javascript 的执行顺序问题。 将它们捆绑在一起时出现此错误。

未捕获的错误:[$injector:nomod] 模块“app.demo”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我相信我已经将其范围缩小到 angular.module("app.demo").service()angular.module("app.demo", []) 之前在组合 appbundle.js 中被调用。

我已经像这样设置了捆绑。在视觉工作室 2013 中。

我的文件夹结构如下:

我将它包含在我的 index.html 中。

<script src="App/appbundle.js"></script>

相关的打字稿文件:

app.module.ts

module App {
    "use strict";

    // Create the module and define its dependencies.
    angular.module("app", [
        // Angular modules
        "app.core",
        "app.demo",
        "app.services"
    ]);
}

demo.service.ts

module App.Services {
    "use strict";

    export interface IDemoService {
        getData: () => Array<string>;
    }

    class demoService implements IDemoService {
        static $inject: string[] = ["$http"];

        constructor(private $http: ng.IHttpService) {
        }

        getData(): Array<string> {
            return ["one", "two", "three"];
        }
    }

    angular.module("app.services").service("demoService", demoService);
}

services.module.ts

module App.Services {
    "use strict";

    // Create the module and define its dependencies.
    angular.module("app.services", []);
}

如前所述。我相信问题出在文件合并到appbundle.js中的顺序。

所以我的问题是。 如何在保留捆绑功能的同时解决此问题?

我意识到重命名文件会改变它们包含的顺序。但这不是我愿意做的事情:)

【问题讨论】:

    标签: angularjs visual-studio visual-studio-2013 typescript bundle


    【解决方案1】:

    如何在保留捆绑功能的同时解决此问题?

    使用外部捆绑器,例如网页包。

    更多:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 2021-06-17
      相关资源
      最近更新 更多