2017-10-19 4 views
0

あなたの指針をお寄せいただき、ありがとうございます。私は間違いなくサーバ側の仲間ですが、私はTypescriptが提供する居心地の良い気分が好きです!家に近く感じる。Typescriptの設定で必要とされるライブラリwebpacked JSから除外する方法

テストケースとして、私はすでにjQueryを含むプライマリプロジェクトにスクリプトを「ベビーステップ」しようとしています。このテストケースでは、jQueryをコード内にインポートします。

npm install -g webpack

npm install ts-loader --save

そして持っている:

import $ = require("jquery"); 

class TestCase { 
    constructor(localeData) { 
     $('body').css('background', 'blue'); 
    } 
} 

これは、この予想形式この向こう

"use strict"; 
Object.defineProperty(exports, "__esModule", { value: true }); 
const $ = require("jquery"); 
class TestCase { 
    constructor(localeData) { 
     $('body').css('background', 'blue'); 
    } 
} 

に(活字体で)コンパイル、私はこれらのコマンドを実行してきましたこのwebpack.config.jsをアドバイスしてください

module.exports = { 
    entry: './testcase.ts', 
    output: { 
     filename: 'testcase.js' 
    }, 
    resolve: { 
     extensions: ['.webpack.js', '.web.js', '.ts', '.js'] 
    }, 
    module: { 
     loaders: [ 
      {test: /\.ts$/, loader: 'ts-loader'} 
     ] 
    } 
}; 

その後、私の小さなテストスクリプトの前に 'webpack'を実行して、期待どおりのjQueryを取得します。私がこれを挿入したいプロジェクトにはすでにjQueryが含まれているということです。

このケースはどのように処理しますか。私はwebpackにこのインポートを何とか排除するように言わなければならないと思いますか?

ありがとうございます!

答えて

0

これほどシンプルに見えますか?

module.exports = { 
    entry: './testcase.ts', 
    output: { 
     filename: 'testcase.js' 
    }, 
    resolve: { 
     extensions: ['.webpack.js', '.web.js', '.ts', '.js'] 
    }, 
    externals: { 
     "jquery": "jQuery", 
    }, 
    module: { 
     loaders: [ 
      {test: /\.ts$/, loader: 'ts-loader'} 
     ] 
    } 
};