Используя es6, это легко: const[<variable declarations>] = [<require modules>]
const [app = express()] = [require('express')];
Этот тип синтактики c сахар - это то, что делает ES6 JavaScript действительно удивительным.
Если бы я хотел добавить другие модули, такие как fs
и path
, могут быть подвергнуты деструктурированию для предоставления методов, поэтому вы не всегда должны набирать fs
или path
, прежде чем сможете использовать прикрепленный метод.
const [fs,path,app=express()] = [require('fs'), require('path'), require('express')]
Теперь Я объявил, что обычно 4 строки только в 1 строке.
Он может go еще больше, используя деструктуризацию, например, я хочу читать файлы asyn c, и для этого обычно требуются методы fs
и path
.
const [{readFileSync},{resolve,join},app=express()] = [require('fs'), require('path'), require('express')]
Таким образом, в конечном итоге это становится неаккуратным и приводит к здравому смыслу разрывы строк.
const [
{readFileSync},
{resolve,join},
app=express()
] = [require('fs'), require('path'), require('express')]
И теперь вы можете еще больше упростить свой код с помощью магов c из es6
.
const [
{readFileSync: read, writeFileSync: write},
{resolve,join},
app=express()
] = [require('fs'), require('path'), require('express')]
В этом сценарии мне теперь нужно только позвонить read
вместо readFileSync
и write
вместо writeFileSync
.