在 Node.js 中要求的正确方法是什么?
What's the proper way to require in Node.js?
我刚刚开始使用 Node.js 和 Electron,我在文档和示例代码中看到了关于如何获取模块的各种方法。具体来说,我正在尝试遵循 this 教程。在这个特定的例子中,我想我需要 app
在 electron
.
1) 在教程中,你做到了:
var app = require('app')
2) 在由 Electron 提供的帮助您入门的 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
这是怎么回事?我主要在 Internet 上看到 #1,似乎 var
和 const
基本上可以互换,因为您不修改这些模块。我无法理解的是,如果 app
在 electron
中,那么为什么 #1 可以直接要求它(而不是像 require('electron.app')
这样的东西)?我更加困惑,因为#4 似乎暗示应用程序实际上在 electron.remote
中。其次,#3 是首选,因为它在文档中使用了吗?还是#4 更受欢迎? #4 程序中的注释是 "Use new ES6 modules syntax for everything"。这是否意味着这就是 JavaScript 的未来?当然,我想知道这些是否只是句法差异,或者它们是否真的会影响程序的运行方式 运行.
#1
不再适用于 Electron v1.0+。
#2
和#3
是等价的,#3
只是用了一个destructuring assignment.
#4
使用 ES6 module import 语法,NodeJS 还没有原生处理它,所以它只有在你使用 Babel、TypeScript 或其他一些可以转换那些 import
语句到 require
语句。
我刚刚开始使用 Node.js 和 Electron,我在文档和示例代码中看到了关于如何获取模块的各种方法。具体来说,我正在尝试遵循 this 教程。在这个特定的例子中,我想我需要 app
在 electron
.
1) 在教程中,你做到了:
var app = require('app')
2) 在由 Electron 提供的帮助您入门的 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
这是怎么回事?我主要在 Internet 上看到 #1,似乎 var
和 const
基本上可以互换,因为您不修改这些模块。我无法理解的是,如果 app
在 electron
中,那么为什么 #1 可以直接要求它(而不是像 require('electron.app')
这样的东西)?我更加困惑,因为#4 似乎暗示应用程序实际上在 electron.remote
中。其次,#3 是首选,因为它在文档中使用了吗?还是#4 更受欢迎? #4 程序中的注释是 "Use new ES6 modules syntax for everything"。这是否意味着这就是 JavaScript 的未来?当然,我想知道这些是否只是句法差异,或者它们是否真的会影响程序的运行方式 运行.
#1
不再适用于 Electron v1.0+。#2
和#3
是等价的,#3
只是用了一个destructuring assignment.#4
使用 ES6 module import 语法,NodeJS 还没有原生处理它,所以它只有在你使用 Babel、TypeScript 或其他一些可以转换那些import
语句到require
语句。