私は webpack 1.13.3 を使用しています。この質問に答えて、一番下に tsconfig.json を提供しました。
インクルード、エクスクルード、または両方の組み合わせを使用しても、ローダーには常に node_modules パッケージが含まれています。
ウェブパック構成:
var path = require("path");
module.exports = {
entry: "./src/bootstrap.tsx",
output: {
filename: "./public/dist/bundle.js",
},
// Enable sourcemaps for debugging webpack's output.
devtool: "cheap-module-source-map",
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"]
},
module: {
loaders: [
// All files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'.
{ include: path.resolve(__dirname, "src"), exclude: /node_modules/, test: /\.tsx?$/, loader: "ts-loader" }
],
preLoaders: [
// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
{ test: /\.js$/, loader: "source-map-loader" }
]
},
};
私はあらゆる種類の組み合わせを試しました:
1) regex/src/
または directのみを含めるpath.resolve(__dirname, "src")
/node_modules/
2) 正規表現またはダイレクトを使用してのみ除外するpath.resolve(__dirname, "node_modules")
include
3)との両方を同時に使用してみましたexclude
。
node_modules 内のファイルの ts-loader から常にエラーが発生します。つまり、次のようになります。
ERROR in /path/to/prj/node_modules/@types/enzyme/index.d.ts
(337,22): error TS2304: Cannot find name 'ComponentClass'.
何をすべきかわかりません.ローダー構成の除外/インクルードは、webpackに変換対象のファイルをインクルードまたは除外するように指示すると想定されています.node_modulesファイルを常に含めるにはどうすればよいですか?
EDIT 1:問題がある場合、これは私の tsconfig.json です
{
"compilerOptions": {
"outDir": "./public/dist",
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"sourceMap": true,
"jsx": "react"
},
"include": [
"./src/**/*.tsx",
"./src/**/*.ts"
],
"exclude": [
"node_modules"
]
}