【发布时间】:2017-12-01 08:10:43
【问题描述】:
我将typescript 与webpack2 和react 一起使用。
webpack 的ProviderPlugin 提供了一些全局变量。
我在我的entry 文件中使用它,如下所示:
console.log(process.env.NODE_ENV);
console.log(__PROD__);
但是typescript编译器给我一个错误:
Error:(14, 13) TS2304:Cannot find name '__PROD__'.
我创建自己的类型文件:
./types/index.d.ts:
declare const __PROD__: boolean;
我的tsconfig.json:
{
"version": "2.3.4",
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/",
"allowJs": true,
"sourceMap": true,
"allowSyntheticDefaultImports": false,
"experimentalDecorators": true,
"lib": [
"es5",
"es2015",
"DOM",
"ScriptHost"
],
"typeRoots": [
"./node_modules/@types"
],
"target": "es5",
"module": "commonjs",
"jsx": "react",
"pretty": true,
"strictNullChecks": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noUnusedLocals": false,
"noUnusedParameters": false
},
"include": [
"./src/**/*"
],
"exclude": [
"dist",
"node_modules",
"**/*.spec.ts",
"__test__"
]
}
你看,我已经将node_modules/@types 用于react 和其他库。
但是如何添加自己的类型定义?
【问题讨论】: