而不是使用'some-lib'中的import {a,b},使用require的等价物是什么?

时间:2016-12-26 01:00:57

标签: javascript node.js

我一直在使用babel,从未真正想过这个。

在我自己的模块中,我正在导出多个模块,我可以执行var something = require('something-i-made');然后something.thingA之类的操作。

然而,当使用像react-router这样的库中的东西时呢?

使用require代替import { RouterContext, match } from 'react-router';

的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

声明

import { foo, bar, baz as abc } from 'my-module';

(在节点6或更新版本中使用object destructuring)大致相当于

const { foo, bar, baz: abc } = require('my-module');

或(对于旧版本的节点):

var myModule = require('my-module');
var foo = myModule.foo;
var bar = myModule.bar;
var abc = myModule.baz;

答案 1 :(得分:3)

您可以使用ES6对象解构:

const { RouterContext, match } = require('react-router')

如果上述内容不受支持,您可以回退到正常访问属性:

var Router = require('react-router');
var RouterContext = Router.RouterContext;
var match = Router.match;