ecmascript-6 – Electron&ES6在使用gulp和ES6模块时如何实现require remote / ipc

前端之家收集整理的这篇文章主要介绍了ecmascript-6 – Electron&ES6在使用gulp和ES6模块时如何实现require remote / ipc前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用由gulp(browserify / babel)编译的ES6 js文件,ES6文件的示例是:

我有一个普通的App.js用于设置主窗口等.然后html页面将使用main.min.js文件,该文件基本上由编译成一个文件的所有ES6类组成:

loader.es6文件

import Main from  './pages/Main.es6'

new Main()

Main.es6文件

import Vue from 'vue';

export default class Main extends Vue{
   constructor() {...}
   .....
}

编译和运行时,一切正常,一切都很好……但是我想如果我想实现’IPC’,’远程’模块,我有编译问题,因为他们找不到那些模块,要么通过我的类中的require()或import ..方法.

所以做以下操作失败:

import Remote from 'remote'
 import Main from  './pages/Main.es6'

 new Main()

要么

var Remote = require('remote')
import Main from  './pages/Main.es6'

new Main()

这有可能做或实现,或者不需要更多的思考并回到正常的js请.

任何想法/建议都会非常感谢

编辑:添加错误详细信息

问题Main.es6中的示例文件

看到顶部添加的var var Remote = require(‘remote’)会导致以下错误.

甚至使用’远程’导入远程

{ [Error: Cannot find module 'remote' from '/Volumes/DAVIES/ElectronApps/electron-vuejs-starter/resources/js/pages']
 stream:
  { _readableState:
  { highWaterMark: 16,buffer: [],length: 0,pipes: [Object],pipesCount: 1,flowing: true,ended: false,endEmitted: false,reading: true,sync: false,needReadable: true,emittedReadable: false,readableListening: false,objectMode: true,defaultEncoding: 'utf8',ranOut: false,awaitDrain: 0,readingMore: false,decoder: null,encoding: null,resumeScheduled: false },readable: true,domain: null,_events:
  { end: [Object],error: [Object],data: [Function: ondata],_mutate: [Object] },_maxListeners: undefined,_writableState:
   { highWaterMark: 16,needDrain: false,ending: true,ended: true,finished: true,decodeStrings: true,writing: false,corked: 0,bufferProcessing: false,onwrite: [Function],writecb: null,writelen: 0,pendingcb: 0,prefinished: true,errorEmitted: false },writable: true,allowHalfOpen: true,_options: { objectMode: true },_wrapOptions: { objectMode: true },_streams: [ [Object] ],length: 1,label: 'deps' } }

解决方法

在我的情况下,我正在使用 browserifybabelify,如果我尝试:

var remote = require(‘remote’)

我会得到错误

Error: Cannot find module ‘remote’ from xxx

但如果我试过

var remote = window.require(‘remote’)

有用.

远程从’远程’导入不起作用,似乎browserify找不到package.json中未定义的那些本机模块.

猜你在找的JavaScript相关文章