如何使用webpack url-loader运行mocha测试?

时间:2018-05-22 08:57:01

标签: node.js webpack mocha babel

我有以下脚本:

"build": "NODE_ENV=production webpack 
--progress 
--profile 
--config scripts/webpack.build.config.js 
--mode production"

当我使用我的配置构建项目时,一切顺利。

"test": "cross-env NODE_PATH=$NODE_PATH:./src NODE_ENV=test 
nyc mocha 
--timeout 30000 
--exit \"./src/**/*.test.js\" 
--require babel-register 
--require babel-polyfill"

但是当我试图运行npm run test时,我有一个错误的文件 我导入的内容无法接收

  

SyntaxError:D:/workspace/messaging-server/src/resources/templates/chat.messages.mustache.template:意外的令牌(1:0)1 <table width="100%" height="100%" bgcolor="#F0F0F0">

有没有办法根据webpack配置运行mocha测试?

1 个答案:

答案 0 :(得分:1)

我通过这种方式解决了问题:

创建新文件babel-ignored.js

require.extensions['.png'] = function () {
  return null;
};
require.extensions['.template'] = function () {
  return null;
};

然后我添加到脚本--require babel-ignored.js

"test": "cross-env NODE_PATH=$NODE_PATH:./src NODE_ENV=test 
nyc mocha 
--timeout 30000 
--exit \"./src/**/*.test.js\" 
--require babel-register 
--require babel-polyfill"
--require babel-ignored.js

现在,babel-register会忽略任何包含.png.template扩展名的文件,这解决了我的问题