不确定为什么它不将此视为功能:
impl.js
export default function(callback){
return callback();
};
test.js
import {myModule} from '../../src/impl.js'
import {expect} from 'chai';
const module = myModule;
describe('', () => {
it('should callback when resolve is invoked', () => {
module(resolve => {
resolve('test');
}).then(value => {
expect(value).to.equal('test');
});
});
});
错误:TypeError: module is not a function
答案 0 :(得分:2)
您没有名称为myModule
的导出。您只有默认导出。
使用命名导出
export function myModule() { ... }
或正确导入模块
import myModule from '...';
答案 1 :(得分:2)
module
不是function
,因为它收到的值myModule
,也不是function
。
而且,这是因为您没有使用import
export default
myModule
的正确语法。为此,您需要删除import myModule from '../../src/impl.js'
周围的大括号:
import *defaultMember* from *"module-name"*;
语法
import
使用大括号,export
将按名称匹配特定的import { myModule } from '...';
。
export let myModule = ...;
对应于:
export function myModule() { ... };
impl.js
并且,myModule
不会导出任何实际命名为/([a-zA-Z]+\s?\b){2,}/g
的内容。