我刚开始使用Node.js和Electron,我已经在文档和示例代码中看到了各种方法,如何需要模块。具体来说,我正在尝试关注this教程。在这个特定的例子中,我认为我需要app
中的electron
。
1)在本教程中,您可以这样做:
var app = require('app')
2)在电子公司提供的electron-quick-start示例中,您可以这样做:
const electron = require('electron')
const app = electron.app
3)在Electron documentation中,他们使用:
const {app} = require('electron')
4)在Electron boilerplate program中,我找到了:
import { remote } from 'electron'
var app = remote.app
这里发生了什么?我在互联网上大多看到#1,似乎var
和const
基本上可以互换,因为你不修改这些模块。我无法理解的是app
是否在electron
中,那么为什么#1直接需要它(而不是require('electron.app')
)?我进一步感到困惑,因为#4似乎意味着app实际上在electron.remote
。其次,#3是首选,因为它在文档中使用?或者#4是首选? #4计划中的评论说“使用新的ES6模块语法”。这是否意味着这是JavaScript的未来?当然,我想知道这些是否只是语法差异,或者它们是否真正影响程序的运行方式。
答案 0 :(得分:2)
#1
不再适用于Electron v1.0 +。#2
和#3
相同,#3
只使用destructuring assignment。#4
使用ES6 module import语法,NodeJS本身不处理这种语法,所以它只适用于使用Babel,TypeScript或其他可以转换那些{{1 }}语句到import
语句。