【问题标题】:Electron and typescript "Cannot find module 'electron'"电子和打字稿“找不到模块‘电子’”
【发布时间】:2018-03-15 16:48:00
【问题描述】:

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

我使用 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" />

然后没关系,我不再有错误了。但是我想避免引用这样的文件,因为它似乎对最新版本的打字稿没用(参见How do I import other TypeScript files?),而且在打字稿的电子教程中他们不需要它......)

谢谢

【问题讨论】:

  • "moduleResolution": "node" 添加到tsconfig.jsoncompilerOptions 部分有帮助吗?
  • 完全!哇,我为这条缺失的线奋斗了很长时间!万分感谢 !也许您可以回答我的问题而不是发表评论,这样我就可以将您的答案设置为有效答案:-)
  • 移到回答:)

标签: typescript electron


【解决方案1】:

问题似乎在于tsc(和tsserver)解决模块by default 的方式。

要使用类似 node.js 的算法,您需要将 "moduleResolution": "node" 添加到 tsconfig.json"compilerOptions" 部分。

【讨论】:

  • 您好,我也面临同样的问题。从“电子”导入{外壳}; //给出“找不到模块'电子'”我还在 tsconfig.json 文件中进行了上面建议的更改。如果有人对此错误有正确的解决方案,请提供帮助。
【解决方案2】:

这里有完全相同的问题。 它还会影响 VS Code 中的代码完成,因为它找不到“电子”模块。

这是因为 node_module 文件夹中不存在电子。

如果我这样做npm install electron --save-dev,它可以解决问题。

【讨论】:

  • 这在没有安装电子并且我们尝试运行 Angular 应用程序的情况下有效。
【解决方案3】:

使用node@12 是临时修复,以防此问题是由this 错误而不是上述任何其他错误引起的。

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 2017-05-05
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2016-03-29
    • 2020-03-10
    • 2017-01-09
    • 2016-04-11
    相关资源
    最近更新 更多