有人有一個工作的例子,其中SystemJS(不是Webpack)與Angular2(在TypeScript中,而不是在Dart中)和Cesium(npm)一起使用?讓Cesium,SystemJS和Angular2工作?
我知道在cesiumjs'網站這篇博客的: https://cesiumjs.org/2016/01/26/Cesium-and-Webpack/
而且我喜歡的作者怎麼說的,‘你不能簡單地做一個require('cesium')
’。這篇文章的問題在於它使用了Webpack的方式,而我沒有這個方法。
無論哪種方式,我期待解決(從瀏覽器)此特定錯誤: Error: (SystemJS) AMD module http://localhost:3000/node_modules/cesium/Build/CesiumUnminified/Cesium.js did not define
這是我有:
在我systemjs.config.js
文件:
paths: {'npm:' : 'node_modules/'},
map: {
// our app is within the dist folder
app: 'dist',
// angular bundles
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
...
'require': 'npm:requirejs/require.js',
'cesium': 'npm:cesium/Build/CesiumUnminified/Cesium.js',
// Other packages
...
}
@Injectable()
例:
let Cesium = require('cesium');
import { Injectable } from '@angular/core';
@Injectable()
export class CesiumClock {
private _start:any = Cesium.JulianDate.now();
private _stop:any = Cesium.JulianDate.addHours(this._start,12,new Cesium.JulianDate());
private _clock:any = new Cesium.Clock({
startTime: this._start,
stopTime: this._stop,
currentTime: this._start,
clockRange: Cesium.ClockRange.LOOP_STOP,
mutliplier: 1,
shouldAnimate: true
});
}
最後,試圖用我的 'CesiumClock',並給我的錯誤(transpiling後)在瀏覽器的客戶端代碼:基於@artem
的
:
import { Component } from '@angular/core';
import { CesiumClock } from '../services/index';
@Component({
moduleId: module.id.replace("/dist", "/app"),
templateUrl: 'stuff.component.html',
styleUrls: [
'stuff.css',
'node_modules/cesium/Build/Cesium/Widgets/widgets.css'
]
})
export class StuffComponent {
constructor(private _cesiumClock:CesiumClock) {}
}
UPDATE回答,我能夠從瀏覽器中刪除特定的'錯誤:(SystemJS)AMD'。但是現在,如果我想參考什麼銫,new Cesium.Viewer(...)
Cesium
對象只是一個空白的石板。我看到的錯誤是
Cesium.Viewer is not a constructor
工作不適合我呢: - /我得到的錯誤' EXCEPTION:未捕獲(承諾):錯誤:錯誤:0:0導致:無法處理綁定「click:function(){return function(){cameraClicked.raiseEvent(this);}}」 消息:n( ...)。綁定不是函數 TypeError:無法處理綁定「click:function(){return function(){cameraClicked.raiseEvent(this);}}」 消息:n(...).bind不是函數的任何想法? – mfreiholz
@mfreiholz - 我想你可能有一個單獨的問題。我會發佈一個問題,如果您認爲這會有所幫助,請將此鏈接關於您的設置?如果我們的問題是重複的,那麼肯定會有人注意到它。 – westandy