【发布时间】:2018-04-13 02:54:44
【问题描述】:
我有这个文件:commonutils.js
import { isBoolean, isNil } from 'lodash'; // isNil , check undefined or null
import moment from 'moment';
let dateToISO = function (dateString) {
if (!dateString) {
return null;
}
let p = dateString.split(/\D/g);
return [p[2], p[1], p[0]].join('-');
}
let ISOtoDate = function (dateString) {
if ( isNil(dateString) || dateString === '') {
return '';
}
return moment(dateString).format('DD-MM-YYYY');
}
module.exports.dateToISO = dateToISO;
module.exports.ISOtoDate = ISOtoDate;
当我尝试在 webstorm 上导入时,webstorm 会在我输入时完成要导入的名称:
import { dateToISO, ISOtoDate } from './commonutils';
但是当我执行时,我得到了这个错误:
./src/utils/validators.js
8:10-19 './commonutils' does not contain an export named 'dateToISO'.
我做错了什么?
更新:
用这个导入:
const { dateToISO, ISOtoDate } = require('./commonutils');
我明白了:
TypeError: Cannot set property 'dateToISO' of undefined
> module.exports.dateToISO = dateToISO;
【问题讨论】:
-
好的,
dateToISO定义在哪里? -
我已经用完整代码更新了答案
标签: javascript ecmascript-6 commonjs es6-module-loader