ES6可以导出导出为别名,就像这样;
import express from 'express'
import { express as playground } from 'graphql-playground/middleware'
是否有另一种方法可以使用CommonJS require('something')
执行此操作?或者,如果以CommonJS方式完成,可以绕过上述声明问题?
这会引发错误。
const express = require('express')
const express = require('graphql-playground/middleware')
// SyntaxError: Identifier 'express' has already been declared
答案 0 :(得分:3)
CommonJS实际上只是为变量赋值,您可以根据需要命名变量:
const express = require('express');
const playground = require('graphql-playground/middleware').express;
答案 1 :(得分:0)
对于非默认导出(module.export = var),您还可以使用常规解构语法进行别名:
const {
originName: newNameInFile
} = require('foo.js')