我已按照https://github.com/Justineo/vue-awesome上的说明进行操作>
在我的jest.config.js中,添加以下内容
transformIgnorePatterns: [ '/node_modules(?![\\\\/]vue-awesome[\\\\/])/' ]
我的nuxt.config.js
build: { transpile: [/^vue-awesome/] // enable font-awesome integration. },
运行我的开发箱时,这些图标正常工作,但是当我运行
yarn test
时,我得到以下提示:
[path/to/project]/node_modules/vue-awesome/icons/building.js:1 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import Icon from '../components/Icon.vue' ^^^^^^ SyntaxError: Cannot use import statement outside a module
明确地说,问题似乎与babel如何读取(或忽略)Icon组件导入上方的导入有关。因此,例如,鉴于上面错误日志中的
building.js
,以下是导入在vuejs文件中的显示方式:
<script>
import 'vue-awesome/icons/building'
import Icon from 'vue-awesome/components/Icon'
export default {
componentes: {
'v-icon': Icon
}
...
}
</script>
我遵循了jest.config.js中https://github.com/Justineo/vue-awesome上的说明,我添加了以下transformIgnorePatterns:['/ node_modules(?![\\\\ /] vue-很棒[\\\\ /]] /'] ...
看来我必须在文件顶部(在导入下方)显式模拟该组件及其导入。