什么是'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()

Bison之%code

python新手关于from..import..as的用法?

正则表达式和re库

JBoss AS 7中的server.xml等价物