2017-11-17 13 views
1

私はこのトピックのいくつかがあることを知っていますが、私の問題の解決策は見当たりませんでした。角4:外部jsライブラリを含めるには?

私はこのライブラリを含めようとしました:https://github.com/euoia/hex-grid.js#new_module_hex-grid--HexGrid_new unfortunatelly私はできませんでした。

解凍したプロジェクトをsrc/jsフォルダに入れます。 scriptsタグ内のangular-cli.jsonに私は16進グリッド.js: "scripts"にURLを書きます:["js/hex-grid.js-master/src/hex-grid.js"]。アプリが正常にコンパイルされたため、ルートは良好です。 私はこのlibを使いたいgame-map.component.tsファイルを持っています。

import {Component} from '@angular/core'; 

declare var hexGrid: any; 

@Component({ 
    selector: 'app-game-map', 
    templateUrl: './game-map.component.html', 
    styleUrls: ['./game-map.component.css'] 
}) 
export class GameMapComponent { 

hex: any; 

constructor() { 
    this.hex = new hexGrid({ 
    width: 20, 
    height: 10, 
    orientation: 'flat-topped', 
    layout: 'odd-q' 
    }); 
    } 
} 

しかし、私はこのエラーを得た:キャッチされないにReferenceError:モジュールはscripts.bundle.jsで 定義されていません:2

をそしてそれは、このモジュールに問題があります。module.exportsは=(関数(){ /**

誰かがこの問題で私を助けることができる

? ありがとう!

答えて

0

1.install npm install hex-grid.js CMDで

2. import * as hexGrid from 'hex-grid.js'

3.then GWTコンパイラは、それがHTMLを置き、最終的なフォルダにコピーして、あなたのパブリックフォルダにsomeJsFile.jsを配置する必要があり、この技術を使用するには、それを

0

を使用とjsもの。

mavenを使用している場合は、リソースプラグインがこのファイルをwarとどのパスにコピーしているかをチェックする必要があります。あなたの.htmlファイルにスクリプトタグを配置

:ところで

は、ドキュメント内の外部JavaScriptを挿入するための他の技術があります。 ScriptInjector.fromUrl()を使用しています。 より良い方法は、TextResourceとScriptInjector.fromString()を使用して、コンパイラがjavascriptファイルを読み込み、最後のコンパイル済みファイルに内容を含めることです。 gwtquery Ajax.getScriptを使用して、ajax経由でスクリプトを取得し、domに注入することができます。 最近、gwtqueryに追加された新しい方法では、JSNIブロックとしてJavaScriptを組み込むことができるので、コンパイラは最適化と難読化を行うことができます。あなたは as

を使用してインポートする必要があり

+0

のように試してみてください。この問題でこのツールキットをどのように使うべきですか? –

0

は、私はGWTを使ったことがないしてきたこの

import * as hexGrid from 'hex-grid.js' 
関連する問題