电子和打字稿“找不到模块'电子'”

阿达沃

关于https://electron.atom.io/blog/2017/06/01/typescript电子支持打字稿,但不适用于我的设置:

[ts]找不到模块“电子”

我使用vscode 1.16.1

这是我的package.json

{
  [...]
  "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" />

那没关系,我没有错误了。但是,我想避免引用这样的文件,因为它似乎与最新版本的打字稿没用(请参见如何导入其他打字稿文件?),并且在电子教程中查找打字稿不需要的文字...)

谢谢

基里尔·德米特连科(Kirill Dmitrenko)

问题似乎出在默认情况下tsc(和tsserver)解决模块的方式上

要使用Node.js的使用类似的算法,你需要添加"moduleResolution": "node""compilerOptions"的部分tsconfig.json

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章