使用Webpack成功构建了以下TypeScript代码(这意味着可以使用静态类字段和其他TypeScript功能):
export default class ConfigRepresentative {
constructor() {
console.log('ok');
}
}
失败(与删除private
和static
相同):
export default class ConfigRepresentative {
private static ownInstanceHasBeenCreated: boolean = false;
constructor() {
console.log('ok');
}
}
错误:
ERROR in ./TypeScriptSource/index.ts 7:10
Module parse failed: Unexpected token (7:10)
You may need an appropriate loader to handle this file type.
| export default class ConfigRepresentative {
|
> private static ownInstanceHasBeenCreated: boolean = false;
|
| constructor() {
module.exports = {
entry: './TypeScriptSource/index.ts',
output: {
filename: 'index.js',
path: __dirname,
libraryTarget: 'umd'
},
target: 'node',
mode: 'production',
watch: true,
module: {
rules: [
{
test: /\.ts?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.ts', '.js']
}
};
为了节省您的时间来重现此问题,我附加了souse文件。 error.zip
答案 0 :(得分:0)
这是因为项目位于node_modules
文件夹中。设置exclude: /node_modules/
取消规则{test: /\.ts?$/, use: 'ts-loader'}
,但是没有类属性代码的是纯JavaScript。
(我知道这是不好的做法-在node_modules
内部进行开发,但是我不知道用于开发依赖关系的其他解决方案。在这种情况下,如果单个ConfigRepresentative
确实没有用,未被其他项目使用。