AMD'ye uygun bir TypeScript uygulama iskeletini bir araya getirme girişimi olarak, bir taklitle karşılaştım: Şu anki yolumdan düşüyor gibi görünmüyor Başka bir dizinde bir modülü almak. Ben üzerindedir modülleri içe ama aşağıda bir hata atar edebilirsiniz: İşteGeçerli yoldan daha düşük olan yolun içinde bulunan TypeScript Module'i içe aktarır. Scope Error
TypeScript Error: The name ''../core/View'' does not exist in the current scope
benim (çok temel) uygulamanın yapısı şöyledir: Benim Application.ts
dosyasında
app/
- core/
- View.ts
- views/
- HomeView.ts
- Application.ts
, yapabilirim başarıyla şöyle bir modül içe: --module AMD bayrağını kullanırken
import HomeView = module('views/HomeView');
export class Application {
constructor() {
console.log('initializing Application');
}
}
hangisi, doğru
çıkarırTypeScript Error: The name ''../core/View'' does not exist in the current scope
File: test/src/app/views/HomeView.ts
Start: 21, Length: 14
Line: import View = module('../core/View');
---------------------------^^^^^^^^^^^^^^--
bu midir: Bu komple hatayı atar
import View = module('../core/View');
export class HomeView {
constructor() {
console.log('Hello HomeView!');
}
}
: Ben views/HomeView.js
içine atlamak ve uzaması için benim core/View
AnaSınıf almaya çalıştığınızda Şimdi
define(["require", "exports", 'views/HomeView'], function(require, exports, __HomeView__) {
var HomeView = __HomeView__;
var Application = (function() {
function Application() {
console.log('initializing Application', HomeView);
}
return Application;
})();
exports.Application = Application;
})
, sorundur Derleyicide hata mı, yoksa modül ithalatı konusundaki anlayışım yanlış mı? Neden
views/HomeView
'u içe aktarabiliyordum, ancak
../core/View
değil?
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
Neredeyse aynı düzeltmeyi kullandım. Yollar her zaman kök sınıfına göre (yani, birinci modülü yükleyen sınıf), bu nedenle View.ts her zaman bu bilgi için 'modül ("çekirdek/Görünüm") ' – JcFx
+1 üzerinden erişilebilir - teşekkürler! – Fenton
Vay canına --- bazen en bariz şeyleri özlüyorum :) – cnp