我已经通过npm安装了axios,并尝试将axios导入到我的前端脚本文件中。
我面临的错误是
未捕获语法错误:无法在模块外使用导入语句
这是我的app.js文件
import axios from 'axios';
function updateRecipt(items) {
axios.post('/update-reciept',items).then(res=>{
console.log(res);
})
}
注意:我也更改了";类型":"标签";至";类型":"模块";在axios package.json和import语句中const axios=require("../../node_module/axios"(。但它不适用于我的
您正在使用CommonJS。要导入axios,您可以执行
const axios = require("axios");
相反,如果您想使用ES模块,您需要转到package.json
并添加"type": "module",
(您也可以添加"type": "commonjs",
以显式使用CommonJS(
您使用的是es6语法,而不是commonJS。尝试使用此
const axios = require('axios');
如果你想使用es6,你需要像巴别塔一样的东西
试着把它放在另一个文件中,然后这样做:
const axios = require('your_file.js');
然后返回到您的文件,并添加:
import axios from 'axios';
module.exports = axios
我使用babel解决了这个问题。
使用创建一个.babelrc文件
{
"presets": ["@babel/preset-env"]
}
将其添加到package.json 中的devDependencies
"@babel/core": "^7.22.10",
"@babel/preset-env": "^7.22.10",
将此添加到jest.config.js
module.exports = {
transform: {
"^.+\.jsx?$": "babel-jest"
}
};