web-dev-qa-db-ja.com

TypeScriptでJavaScript Node.jsモジュールを要求する(allowJsが設定されていない)

Electronの中にAngular2アプリがあります。ここで、_@pokusew/pcsclite_ライブラリを使用してNFC機能を使用します。このライブラリはネイティブNode.jsモジュールを使用します。

Component.tsのライブラリを次のようにrequireしようとすると:

_declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');
_

私が言うエラーが表示されます:

エラーTS6143:モジュール「../ ..」は「../../lib/pcsclite.js」に解決されましたが、「-allowJs」は設定されていません。

一方、index.htmlの<\ script>タグを使用してライブラリをインポートしようとすると、次のようなエラーが表示されます。

ZoneAwareErrorエラー:バインディングファイルが見つかりませんでした。試した:...

最後に、_main.js_でvar pcsclite = require('@pokusew/pcsclite');を実行した場合は動作しますが、Angularアプリ内からはアクセスできません。

16
Phil

tsconfig.jsonallowJsオプションを次のように追加します。
as fabian lauer また、outDirオプションを追加して、コンパイル済みファイルの場所を指定します。

{
    "compilerOptions": {
        "outDir": "./built", <--- add this
        "allowJs": true,  <--- and this
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}