2017-11-24 20 views
0

活字体コードES5するtranspilledとき:jQueryのdoesntの仕事

import * as $ from "jquery"; 
import {Canvas} from "./canvas"; 

$(() => { 
    let canvas = new Canvas(600, 600); 
    canvas.init(); 
}); 

私はbrowserify使用して、それが

var _jquery = require("jquery"); 
var $ = _interopRequireWildcard(_jquery); 

$(function() { 
    var canvas = new _canvas.Canvas(600, 600); 
    canvas.init(); 
}); 

にtypescriptですインポートをコンパイルすると、このエラーがスローされます。

Uncaught TypeError: $ is not a function 

すべてをコンソールで$を_jQueryに置き換えると問題ありません。どうすればその_interopRequireWildcard()コールを削除できますか?

+0

アンビエントまたはモジュールとしてjqueryを使用する必要があります。現在、私はあなたがjqueryをウェブサイトからダウンロードし、jquery.jsとして保存したと思いますか? –

+0

アプリケーションにjqueryをインストールするにはnpmを使用する必要があり、上記のコードは正常に動作します –

答えて

1

はこのように、jQueryのデフォルトのエクスポートをインポートしてみてください。

import $ from "jquery"; 

これはあなたの問題を解決する必要があります。

+0

これは正しいです。具体的には、ネームスペースは '[[Call]] ed'または' [[Construct]] ed'にはできません。また、 'interopRequireWildcard'の実装は仕様を遵守している可能性が高いでしょう。 –

+0

私は前にそれを試しましたが、エラーがありましたTS1192モジュール '' jquery ''にはデフォルトの書き出しがありません。 "allowSyntheticDefaultImports":この問題を修正した –

関連する問題