【发布时间】:2019-12-14 09:47:21
【问题描述】:
我正在使用节点的本机 esm 实现来运行测试。
这里有一个重现的最小代码示例。在 package.json 中设置 "type":"module" 或使用 .mjs 扩展名进行测试。节点版本 >= 13.2.0(否则 >= 12.0 和实验标志)
import {mount} from '@vue/test-utils';
// use some minimal vue component
const FooBar = import('foo-bar.vue');
const wrapper = mount(FooBar);
抛出以下错误:
TypeError: mount is not a function
根据要求,这是我的 package.json
{
"name": "mk-vue-flex-text",
"version": "0.0.1",
"description": "My Vue component",
"main": "lib/index.js",
"license": "MIT",
"scripts": {
"build": "NODE_ENV=production webpack --mode production --config build/webpack.production.js --progress --hide-modules",
"dev": "NODE_ENV=development node server.mjs",
"github:master": "git push origin master",
"test:esm": "NODE_ENV=test node test/basic.test.mjs | tap-spec",
"test": "NODE_ENV=test node test/basic.test.js | tap-spec"
},
"browserslist": [
"last 1 version",
"> 1%",
"maintained node versions",
"not dead"
],
"devDependencies": {
"@babel/cli": "^7.7.5",
"@babel/core": "^7.7.5",
"@babel/preset-env": "^7.7.6",
"@vue/server-test-utils": "^1.0.0-beta.30",
"@vue/test-utils": "^1.0.0-beta.30",
"autoprefixer": "^9.7.3",
"babel-eslint": "^10.0.3",
"babel-loader": "^8.0.6",
"browser-env": "^3.3.0",
"css-loader": "^3.3.0",
"eslint": "^6.7.0",
"express": "^4.17.1",
"mini-css-extract-plugin": "^0.8.0",
"node-sass": "^4.13.0",
"resolve-url-loader": "^3.1.1",
"sass-loader": "^8.0.0",
"tap-spec": "^5.0.0",
"tape": "^4.11.0",
"vue": "^2.6.10",
"vue-eslint-parser": "^7.0.0",
"vue-loader": "^15.7.2",
"vue-loader-plugin": "^1.3.0",
"vue-template-compiler": "^2.6.10",
"webpack": "^4.41.2",
"webpack-dev-middleware": "^3.7.2",
"webpack-hot-middleware": "^2.25.0",
"webpack-merge": "^4.2.2"
}
}
【问题讨论】:
-
请分享你
package.json -
我添加了包json
标签: node.js unit-testing vue.js