docker下给express+node项目安装axios

报错
import axios from './lib/axios.js';
SyntaxError: Unexpected identifier
标错不是在import,而是在import后面的axios下面,显示的文件路径是依赖文件里的。
我使用node -v,看服务器里的版本是v16.16.0

这样试试

const axios = require('./lib/axios.js');

从错误信息来看,这个问题可能是因为在 Node.js 的版本 v16 中,不再支持在 CommonJS 模块中使用 import/export 语法。在 Node.js 的 v16 中,仅支持在 ES 模块中使用 import/export 语法。

解决方案是将项目的文件从使用 import/export 改为使用 CommonJS 的 require/exports 语法,因为 Express 和 Node.js 默认支持 CommonJS 模块。

首先,确保您已经安装了 axios,可以使用 npm 或者 yarn 来安装:

使用 npm:

npm install axios

使用 yarn:

yarn add axios

然后,将使用 import/export 语法的文件修改为 CommonJS 的 require/exports 语法。例如,如果您在 ./lib/axios.js 文件中使用了 import/export 语法,应该修改为:

// ./lib/axios.js
const axios = require('axios');
module.exports = axios;

接着,在您的 Express+Node 项目的其他文件中,使用 require 来导入 axios:

const axios = require('./lib/axios.js');
// 使用axios进行请求等操作

这样修改后,应该能够避免出现 SyntaxError: Unexpected identifier 错误,并且您的项目可以在 Node.js v16 中正常运行。请确保在修改后重启您的项目,以便更改生效。