“export default ”在node进行单元测试时遇到麻烦

Posted kevin-y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“export default ”在node进行单元测试时遇到麻烦相关的知识,希望对你有一定的参考价值。

export default class EnWordStudy{ 
//...
}

  程序是electron-vue,所以大量存在export default的语法,于是我的后台的类也使用类似语法。

以下是单元测试的代码treetest.js

import EnWordsDb from "../src/renderer/enwords";
import EnWordStudy from "../src/renderer/enwordstudy";
import assert  from "assert";

let db = new EnWordsDb();
let dbStu = new EnWordStudy(db);
dbStu.init((data)=>{
    assert.ok( data,"has return");
});   

  但在进行单元测试时会有麻烦,会提示“SyntaxError: Unexpected identifier”

技术图片

 

 

 查网友说明,webpack 2中不允许混用import和module.export

https://www.cnblogs.com/joyco773/p/8688410.html

所以也不打算动原有的代码,还好找到以下内容

https://blog.csdn.net/zwkkkk1/article/details/81564971

参考上面的内容,我做了以下几步

1.安装依赖

npm install babel-register babel-preset-env -D

  

2.增加start.js

require(‘babel-register‘) ({
    presets: [ ‘env‘ ]
})
module.exports = require(‘./treetest.js‘)

  

3.原测试代码node treetest.js,改为运行node start.js

完美兼容!

以上是关于“export default ”在node进行单元测试时遇到麻烦的主要内容,如果未能解决你的问题,请参考以下文章

export default 和 export 的使用方式

ES6导入导出import | export | export default-使用案例

ES6导入导出import | export | export default-使用案例

module.exports 和 export default

export default和export default defineComponent区别

module.exports与exports,export与export default的区别