Javascript 如何在e2e测试(Vue+;nightwatch)中同时使用import/require
是否可以在e2e测试中同时使用这两种方法?我可以在Vue中使用这两种方法。这些js文件位于myproject/src/js文件夹中。但在myproject/test/e2e中,我知道Nightwatch使用的节点只能使用Javascript 如何在e2e测试(Vue+;nightwatch)中同时使用import/require,javascript,vue.js,ecmascript-6,babeljs,nightwatch.js,Javascript,Vue.js,Ecmascript 6,Babeljs,Nightwatch.js,是否可以在e2e测试中同时使用这两种方法?我可以在Vue中使用这两种方法。这些js文件位于myproject/src/js文件夹中。但在myproject/test/e2e中,我知道Nightwatch使用的节点只能使用require语法,但我可以将文件重命名为mjs,然后它支持import语法,但如果我在另一个测试中尝试使用require导入mjs文件,它给出了错误:必须使用导入加载ES模块错误…我想知道这是否可能。就像我可以在Vue src/*中使用的一样,js文件到处混合使用require
require
语法,但我可以将文件重命名为mjs,然后它支持import
语法,但如果我在另一个测试中尝试使用require
导入mjs文件,它给出了错误:必须使用导入加载ES模块错误…我想知道这是否可能。就像我可以在Vue src/*中使用的一样,js文件到处混合使用require/import
我在babel.config.js
module.exports = {
presets: [
["@babel/preset-env"],
// I tried below as well
[
"@vue/cli-plugin-babel/preset",
{
useBuiltIns: "entry",
}
],
]
}
require('babel-register')() // no differences if i add this or not..
module.exports = {
presets: [
["es2015", {"modules": false}] // set modules to true or false dose not help..
]
}
我在package.json
devDependencies {
"@babel/plugin-proposal-optional-chaining": "^7.2.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "^10.0.3",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-jest": "^23.6.0",
"babel-loader": "^7.1.1",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-dynamic-import-node": "^1.2.0",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
}
在nightwatch.conf.js中
module.exports = {
presets: [
["@babel/preset-env"],
// I tried below as well
[
"@vue/cli-plugin-babel/preset",
{
useBuiltIns: "entry",
}
],
]
}
require('babel-register')() // no differences if i add this or not..
module.exports = {
presets: [
["es2015", {"modules": false}] // set modules to true or false dose not help..
]
}
我已经为此挣扎了好几天…请帮帮我..这能回答你的问题吗不幸的是,它不能回答你的问题…而帖子是2017年…现在巴贝尔似乎建议使用“@babel/preset env”。这里有一个类似的东西,实际上我更新了我的问题..我刚刚发现,如果我将文件重命名为mjs,它可以使用导入。但是普通js文件不需要它。获取另一个错误…好的,那么您遇到的问题不是使用nightwatch
而是使用node.js
runner。因为您正在运行的代码是在node.js
上下文中执行的。如果您在启用import/export方面遇到很多困难,那么最好使用require('moduleName')