【发布时间】:2017-01-08 11:39:17
【问题描述】:
我刚刚开始使用 Node.js 和 Electron,我已经在文档和示例代码中看到了关于如何需要模块的各种方法。具体来说,我正在尝试遵循this 教程。在这个特定的例子中,我想我需要app,它位于electron。
1) 在教程中,你可以做到:
var app = require('app')
2) 在electron-quick-start 示例中,由 Electron 提供以帮助您入门,他们让您这样做:
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
这里发生了什么?我主要在 Internet 上看到 #1,并且似乎 var 和 const 基本上可以互换,因为您不修改这些模块。我不明白的是,如果app 在electron 中,那么为什么#1 可以直接要求它(而不是像require('electron.app') 这样的东西)?我更加困惑,因为#4 似乎暗示应用程序实际上在electron.remote 中。其次,#3 是首选,因为它在文档中使用?还是#4首选? #4 程序中的注释说“对所有内容都使用新的 ES6 模块语法”。这是否意味着这是 JavaScript 的未来?当然,我想知道这些只是语法上的差异,还是它们实际上会影响程序的运行方式。
【问题讨论】:
-
恕我直言,只需使用
var http = require('http')。var与const由你决定。 -
在某些情况下,我在电子的 main.js 文件中仅使用
var时遇到了问题。没有给我带来问题的是const {app} = require('electron')。唯一的区别是它们的打字标准不同 -
如果您有
const和let可用,我会完全避免使用var。查看示例here
标签: javascript node.js require electron