【发布时间】:2017-05-05 10:57:14
【问题描述】:
我有一个项目使用 jest 和 ts-jest 运行名为“*.test.ts”的测试文件。这很好,但是当我启动 webpack 时,我得到了测试文件的错误:
ERROR in /some/path/note.test.ts
(27,3): error TS2304: Cannot find name '
如何修复 webpack 配置以完全忽略测试文件?
这里是 webpack 配置:
const path = require ( 'path' )
module.exports =
{ entry: './src/boot.tsx'
, node:
{ __dirname: false
}
, output:
{ path: path.resolve ( __dirname, 'app', 'build' )
, filename: 'app.js'
, publicPath: '/live-reload/'
}
, devtool: 'source-map'
, resolve:
{ extensions: ['', '.js', '.ts', '.tsx']
}
, module:
{ loaders:
[ { test: /\.tsx?$/
, exclude: /node_modules/
, loader: 'ts-loader'
}
]
}
}
[编辑]
我使用测试功能记录看到的文件并且测试文件没有出现在那里,所以问题不在于包含错误文件的 webpack,而是在于 typescript 行为不端(因为测试与 jest 一起工作正常)。
【问题讨论】:
-
ts-loader 默认编译所有 ts 文件,即使是 Webpack 不被告知捆绑的文件,例如由于缺少全局变量而会抛出错误的测试文件。 ts-loader 可以配置为仅编译 Webpack 被告知要捆绑的文件,如此答案 stackoverflow.com/questions/41289265/… 所述
标签: typescript webpack