关于 electron 对 TypeScript 的支持,请参考 https://electron.atom.io/blog/2017/06/01/typescript。但是,在我的环境中它不起作用:
。我使用的是 vscode 1.16.1 版本,并且这是我的 package.json 文件内容:
![[ts] cannot find module 'electron'](https://istack.dev59.com/Zhoev.webp)
{
[...]
"devDependencies": {
"electron": "^1.6.13",
"ts-loader": "~2.3.7",
"typescript": "~2.5.0",
"webpack": "^3.6.0",
[...]
}
}
tsconfig.json
{
"compilerOptions": {
"module": "es6",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"include": [
"src/**/*"
]
}
和我的webpack
const path = require('path');
module.exports = [{
entry: './src/main.ts',
devtool: 'inline-source-map',
target: 'electron',
module: {
rules: [
{ test: /\.ts$/, use: 'ts-loader', exclude: /node_modules/ }
]
},
node: {
__dirname: false,
__filename: false
},
resolve: {
extensions: [".ts", ".js"]
},
output: {
filename: 'electron_core.js',
path: path.resolve(__dirname, 'dist')
}
}
];
当我在main.ts文件的顶部添加以下内容时
///<reference path="../node_modules/electron/electron.d.ts" />
然后就可以了,我不再有错误了。但是我想避免像这样引用文件,因为在最新版本的typescript中似乎是无用的(请参见如何导入其他TypeScript文件?),而且在electron教程中使用typescript时,他们不需要它...
谢谢
tsconfig.json
文件的compilerOptions
部分中添加"moduleResolution": "node"
是否有帮助? - Kirill Dmitrenko