加载资源失败(找不到文件) Electron js 无法导入或导出

Posted

技术标签:

【中文标题】加载资源失败(找不到文件) Electron js 无法导入或导出【英文标题】:Failed to load resource (file not found) Electron js cannot import or export 【发布时间】:2021-11-13 11:20:23 【问题描述】:

加载资源失败:net::ERR_FILE_NOT_FOUND

我正在使用最新版本的 npm、node.js 和 electron。

我的 html 文件调用 terrautils.js:

<script type="module" src="./terrautils.js"></script>

我的 terrautils.js 文件的第一行为:

import  LCDClient, Coin  from './node_modules/@terra-money/terra.js';

这是我想要使用的 npm 模块的链接,我已经安装了它,并使用文件资源管理器确认该文件夹确实存在。我也知道该模块可以完美运行文件,因为此问题仅在我使用npm start 运行时发生,但当我使用node terrautils.js 运行并从使用import 切换到使用require 时,它工作得非常好。

我认为这与电子有关,不知道该怎么做。我的 main.js 有 createWindow 函数,例如:

function createWindow (site) 
  var win = new BrowserWindow(
    width: 700,
    height: 600,
    webPreferences: 
      preload: path.join(__dirname, 'preload.js'),
      nodeIntegration: true,
      contextIsolation: true,
      devTools: true,
    
  )

  win.loadFile(site)

我不关心安全性,我只想让它工作。谢谢。

【问题讨论】:

安装节点模块时,不应该给出文件夹路径,而只指定它的名称。例如:import LCDClient, Coin from '@terra-money/terra.js'(在@terra-money/terra.js package 中提到。 这仍然没有解决问题@Dony 【参考方案1】:

解决方案:

将 js 文件的 html 调用改为:

    <script>
        require('./terrautils.js')
    </script>

不知道它是如何工作的,但确实如此。

【讨论】:

以上是关于加载资源失败(找不到文件) Electron js 无法导入或导出的主要内容,如果未能解决你的问题,请参考以下文章

在生产模式 Electron + Angular 下找不到 sqlite 文件

运行jar文件失败classpath下的资源文件找不到

zeromq w/ Electron:找不到绑定文件

找不到模块“fs/promises”Electron JS

Android studio 加载Java和资源文件出错

Electron 无法获取资源 (.swf)