代码之家  ›  专栏  ›  技术社区  ›  Yliaho

CommonJS替代ES6作为别名导入

  •  1
  • Yliaho  · 技术社区  · 7 年前

    ES6 can 导入导出为别名 ,如此;

    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
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   Felix Kling    7 年前

    const express = require('express');
    const playground = require('graphql-playground/middleware').express;
    
        2
  •  2
  •   Andreas Bergström    3 年前

    对于非默认导出(module.export=var),您还可以使用常规解构语法进行别名:

    const {
      originName: newNameInFile
    } = require('foo.js')