我正在使用由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请.
任何想法/建议都会非常感谢
看到顶部添加的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' } }
解决方法
在我的情况下,我正在使用
browserify和
babelify,如果我尝试:
var remote = require(‘remote’)
我会得到错误:
Error: Cannot find module ‘remote’ from xxx
但如果我试过
var remote = window.require(‘remote’)
有用.
远程从’远程’导入不起作用,似乎browserify找不到package.json中未定义的那些本机模块.