什么是'import * as ...'等价于require?
Posted
技术标签:
【中文标题】什么是\'import * as ...\'等价于require?【英文标题】:What is the 'import * as ...' equivalent for require?什么是'import * as ...'等价于require? 【发布时间】:2017-11-12 06:53:39 【问题描述】:在使用 ES6 import
命令时,可以使用别名从文件中导入所有函数,例如:
import * as name from "module-name";
是否有使用 require 的等效方法来执行此操作,即:
const * as name = require('module-name');
【问题讨论】:
我相信它只是const name = require("module-name");
虽然我没有使用古老的技术。
require(CommonJS)和import(ES6模块)是两种不同类型的模块系统,它们不能一起工作
我不确定,我们已经使用预编译多年了(我们使用 TypeScript,但 babel ES6 也可以)。
使用typescript与原生支持ES6模块不一样,typescript在node.js中编译成commonjs。在 Node 中支持 es6 模块有很多悬而未决的问题
@MaxKoretskyiakaWizard 在某些情况下他们可能会一起工作
【参考方案1】:
就这么简单:
const name = require('module-name')
用法:
name.yourObjectName
【讨论】:
【参考方案2】:const name = require('moduleName.js');
这意味着当你有 (moduleName.js)...
function foo()
...
module.exports = foo ;
...foo()
函数可以被另一个文件使用:
const name = require('moduleName.js');
name.foo();
【讨论】:
以上是关于什么是'import * as ...'等价于require?的主要内容,如果未能解决你的问题,请参考以下文章
Django 1.2 等价于 QuerySet.query.as_sql()
如果 import Something from 'somewhere' 等价于 require()