2017-11-30 12 views
2

私はウェブサイトを開発していますが、私はTypeScriptを使用しています。 TypeScriptで作成されたJavaScriptファイルからrequire文を削除します。

私は tscコンパイラを使用し、すべての私のJavaScriptが正しくコンパイルが、私は私の活字体で importステートメントを使用している場合、それはウェブで使用可能ではありません require文とJavaScriptファイルにコンパイルされます。

browserifyのようなものを使用してこの問題を修正できますが、他のJavaScriptファイルのコードにはrequireという文が含まれています。 HTML内に各JavaScriptファイルを含めるのは、<script src="..."></script>です。私はコンパイルされたJavaScriptコードでrequire文を生成するから活字体を防ぐことができますどのように


?ここで


は私 tsconfig.jsonファイルの内容は以下のとおりです。

{ 
    "compilerOptions": { 
     "target": "es6", 
     "module": "commonjs", 
     "lib": [ 
      "es6", 
      "dom" 
     ], 
     "sourceMap": true, 
     "outDir": "./typescript/compiled", 
     "removeComments": true, 
     "noImplicitAny": true, 
     "noImplicitThis": true, 
     "strictNullChecks": true, 
     //"noEmit": true, 
     "forceConsistentCasingInFileNames": true 
    }, 
    "include": [ 
     "./typescript/**/*.ts" 
    ] 
} 

main.ts

import { Helper } from "./helper"; 

var helper = new Helper(); 

helper.ts

export class Helper { 
    // ... 
} 

main.js

"use strict"; 
Object.defineProperty(exports, "__esModule", { value: true }); 
const helper_1 = require("./helper"); 
var helper = new helper_1.Helper(); 
//# sourceMappingURL=main.js.map 
+0

tsconfigファイルを投稿できますか? – kentor

+0

あなたの目標はES5でなければならないと思います。あなたの問題を解決できるかどうか試してみてください。 –

+0

@VinodBhavnani私はちょうど試しましたが、 'require'文は残っています。 – Acidic

答えて

2

あなたはjavascriptのアプリケーション内のモジュールを使用していない場合。あなたはあなたのtypescriptファイルでインポートを使用していません。インポートを使用すると、そのファイルをコードにインポートすることになります。

あなたは、別途のJavaScriptファイルを持っているしたい場合は、代わりに

/// <reference path=".. definition you want to refer ..." /> 

を使用しています。

あなたは

"include": [ 
     "./typescript/**/*.ts" 
    ] 

でファイルを持っている場合は、任意のより多くのreference ...を行う必要はありません活字体1.5以来

を更新しました。

+0

答えが更新されました。 –

関連する問題