Sam*_*l G 3 javascript ecmascript-6
给定以下模块,如何导入常量模块并避免包含默认属性:
// constants.es6
export default {
foo: 'foo',
bar: 'bar'
}
// anotherModule.es6
import * as constants from './constants';
Run Code Online (Sandbox Code Playgroud)
结果是 constants.default.foo
我似乎无法得到正确的语法来结束 constants.foo
import constants from './constants'
console.log(constants.foo, constants.bar)
Run Code Online (Sandbox Code Playgroud)
如果您想直接从 ./constants
constants.js:
export const foo = 'foo'
export const bar = 'bar'
anotherModule.js:
import {foo, bar} from './constants'
console.log(foo,bar)
Run Code Online (Sandbox Code Playgroud)
您不应该使用对象来定义常量。调用代码可以自由地执行constants.foo = 42;和更改值。
使用
export const foo = 'foo';
export const bar = 'bar';
Run Code Online (Sandbox Code Playgroud)
反而。
然后你的导入语句,import * as constants from './constants';,也将起作用。
如果您不想更改定义常量的方式,那么您的问题是“如何导入默认导出”,这些问题已回答: