我跟随ES2015。我想将常规的javascript import语句翻译成ES2015 import语句。
我有什么:
我有javascript导入行如下:
var db = require('../config').get('db')
我尝试过的事情:
import { config } from '../config'
const db = config.db
请注意
config
文件夹包含我要加载的index.js
。在常规var ... = require('...')
语句中,如果存在则自动加载index.js
。我希望ES2015脚本在导入时也会自动加载。
答案 0 :(得分:3)
我认为您正在寻找的是:
import { db } from '../config'
假设db
来自config.js正确export
,那应该可行。
只是为了澄清,JS本机模块中有三种主要的导入类型:
导入整个模块:
import * as foo from 'path/to/foo';
const something = foo.something;
导入模块的特定命名导出。如果模块使用export
语句导出相应的对象,则此方法有效:
import { something } from 'path/to/foo';
导入模块的默认导出。这仅在模块中包含export default
语句时才有效:
import thedefaultexport from 'path/to/foo';
答案 1 :(得分:0)
看起来'../config'
模块使用get()
方法导出单个对象。如果是这种情况,请导入整个模块,如下所示:
import * as config from '../config';
像这样得到数据库:
const db = config.get('db');
如果可能,您可能需要重构'../config'
模块,以便直接导出db
。
export {db};
然后你可以使用语法@AsadSaeeduddin建议:
import {dp} from '../config';