我有這個module.ts文件:打字稿和AngularJS 1.5:如何辦理出口類
import { IHttpService, IPromise } from 'angular';
export class ProductService {
static $inject = ["$http"];
constructor(private $http: IHttpService) { }
loaded: boolean = false;
promise: IPromise<{ data: any }>;
getProducts(): IPromise<{ data: any }> {
if (!this.loaded) {
this.loaded = true;
this.promise = this.$http.get('/products.json');
}
return this.promise;
}
}
var module = angular.module("psShopping", ["ngComponentRouter"]);
module.value("$routerRootComponent", "shoppingApp");
module.service('products', ProductService);
,這被transpiled /編譯module.js:
"use strict";
var ProductService = (function() {
function ProductService($http) {
this.$http = $http;
this.loaded = false;
}
ProductService.prototype.getProducts = function() {
if (!this.loaded) {
this.loaded = true;
this.promise = this.$http.get('/products.json');
}
return this.promise;
};
ProductService.$inject = ["$http"];
return ProductService;
}());
exports.ProductService = ProductService;
var module = angular.module("psShopping", ["ngComponentRouter"]);
module.value("$routerRootComponent", "shoppingApp");
module.service('products', ProductService);
有問題的行:exports.ProductService = ProductService;如果我手動刪除這個應用程序 - 完美的作品。但是,如果我這樣離開,在瀏覽器控制檯中,我收到一個錯誤「出口未定義」。 可以做些什麼呢?我不能從.ts文件中刪除「導出」,因爲這個類在其他文件中使用(我在那裏導入它)。我嘗試了不同的編譯器選項,但它只是給了我不同的錯誤(如「定義沒有定義」等),我不知道如何處理這個..也許theres一種方式,TSC將不會產生這條線?
謝謝你的幫助!
你如何在瀏覽器中加載模塊?你使用的是browserify/webpack/jspn等?你需要導出課程嗎? – dtabuenc
我只是有一個index.html附加所有的腳本文件。我附加的一個文件是上面的文件(module.js)。我只在應用程序中有一個模塊(稱爲psShopping)。 – marc08
在你的tsconfig中設置'「module」:「none」'選項 – dtabuenc