iva*_*ero 4 reactjs webpack babeljs electron
我有一个React,Electron应用程序,我希望能够从ES6编译(使用Babel和Webpack)访问本机节点模块.
例如,当我尝试要求"fs"节点模块访问文件系统时,我收到以下错误.
ERROR in ./src/app.js Module not found: Error: Cannot resolve module 'fs' in C:\Users\Propietario-1\Documents\GitHub\AMPLI @ ./src/app.js 1:358-371
Run Code Online (Sandbox Code Playgroud)
但是,当我从"无编译"的js文件中需要它时,它可以工作.我可以访问"fs"模块.
任何帮助表示赞赏.
更新(2016-08-28):
我最终要求fs
index.html上的脚本标签中的模块调用捆绑的脚本.有用!
<script>
const fs = require('fs');
require('bundle.js');
</script>
Run Code Online (Sandbox Code Playgroud)
执行此操作后,它将fs
成为可用于所有脚本的全局变量bundle.js
.只需确保编辑您的linter选项以避免覆盖它或undef
错误.
Electron作为两个进程运行:主节点进程和渲染器进程,有点像传统的Web浏览器客户端和服务器关系.渲染器进程不能使用不适合浏览器的节点模块(例如fs
),因为它基本上是一个浏览器.
提供了两种方法来在渲染器进程和主进程之间进行通信:ipcRenderer
和remote
.对于简单的任务,远程更容易.要fs
在渲染器进程中使用webpacked react项目中的模块:
var fs = require('electron').remote.require('fs');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1475 次 |
最近记录: |