关于https://electron.atom.io/blog/2017/06/01/typescript 电子支持打字稿,但我的设置无效:
我使用vscode 1.16.1
这是我的package.json
<a class="privacy enllac-lower" href="{{ path('privacy_lang') }}">Política de privacidad</a>
tsconfig.json
{
[...]
"devDependencies": {
"electron": "^1.6.13",
"ts-loader": "~2.3.7",
"typescript": "~2.5.0",
"webpack": "^3.6.0",
[...]
}
}
和我的webpack
{
"compilerOptions": {
"module": "es6",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"include": [
"src/**/*"
]
}
当我添加到main.ts的顶部时
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')
}
}
];
然后没关系我没有错误了。但是我想避免引用像这样的文件,因为它似乎对最新版本的打字稿没有用(参见How do I import other TypeScript files?),而且在电子教程中对于打字稿,他们不需要它......)
由于
答案 0 :(得分:16)
问题似乎在于tsc
(和tsserver
)重新启动模块by default的方式。
要使用类似node.js的算法,您需要将"moduleResolution": "node"
添加到"compilerOptions"
的{{1}}部分。
答案 1 :(得分:0)
使用node@12
是临时解决方案,以防此问题是由this错误(而不是上述任何其他错误)引起的。
答案 2 :(得分:-1)
这里有完全相同的问题。 由于它找不到“电子”模块,因此也会影响VS代码中的代码完成。
发生这种情况是因为在node_module文件夹中不存在电子。
如果我执行npm install electron --save-dev
,它将解决此问题。