upate
This commit is contained in:
parent
6ad0742e9c
commit
37c01d7bac
17
Dockerfile
17
Dockerfile
@ -8,6 +8,9 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
ARG NODE_ENV=production
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
# 输出构建环境信息
|
||||
RUN echo "Building for environment: ${NODE_ENV}"
|
||||
|
||||
# 安装 yarn
|
||||
RUN apk add --no-cache yarn
|
||||
|
||||
@ -27,12 +30,26 @@ RUN yarn install --frozen-lockfile
|
||||
# 复制项目文件
|
||||
COPY . .
|
||||
|
||||
# 创建或更新环境文件
|
||||
RUN echo "NODE_ENV=${NODE_ENV}" > .env && \
|
||||
if [ "$NODE_ENV" = "production" ]; then \
|
||||
echo "VUE_APP_API_URL=https://api.beefast.co" >> .env; \
|
||||
elif [ "$NODE_ENV" = "testing" ]; then \
|
||||
echo "VUE_APP_API_URL=https://api-dev.beefast.co" >> .env; \
|
||||
else \
|
||||
echo "VUE_APP_API_URL=http://localhost:8000" >> .env; \
|
||||
fi && \
|
||||
cat .env
|
||||
|
||||
# 根据环境变量选择构建命令
|
||||
RUN if [ "$NODE_ENV" = "production" ]; then \
|
||||
echo "Running production build" && \
|
||||
yarn build:prod; \
|
||||
elif [ "$NODE_ENV" = "testing" ]; then \
|
||||
echo "Running testing build" && \
|
||||
yarn build:test; \
|
||||
else \
|
||||
echo "Running development build" && \
|
||||
yarn build:dev; \
|
||||
fi
|
||||
|
||||
|
||||
@ -4,6 +4,11 @@ import App from './App.vue';
|
||||
import router from './router';
|
||||
import store from './store';
|
||||
import 'ant-design-vue/dist/antd.css';
|
||||
import debug from './utils/debug';
|
||||
|
||||
// 输出环境信息
|
||||
console.log('当前运行环境:', process.env.NODE_ENV);
|
||||
console.log('API基础URL:', process.env.VUE_APP_API_URL);
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
@ -11,4 +16,7 @@ app.use(Antd);
|
||||
app.use(router);
|
||||
app.use(store);
|
||||
|
||||
// 挂载调试工具到全局
|
||||
app.config.globalProperties.$debug = debug;
|
||||
|
||||
app.mount('#app');
|
||||
@ -1,8 +1,21 @@
|
||||
// 环境配置
|
||||
const ENV = process.env.NODE_ENV || 'development';
|
||||
|
||||
// API 配置
|
||||
const API_BASE_URL = process.env.VUE_APP_API_URL;
|
||||
// 根据环境确定 API URL
|
||||
let apiUrl;
|
||||
if (ENV === 'testing') {
|
||||
apiUrl = 'https://api-dev.beefast.co';
|
||||
} else if (ENV === 'production') {
|
||||
apiUrl = 'https://api.beefast.co';
|
||||
} else {
|
||||
apiUrl = 'http://localhost:8000';
|
||||
}
|
||||
|
||||
// 使用环境变量中的 API URL(如果存在)
|
||||
const API_BASE_URL = process.env.VUE_APP_API_URL || apiUrl;
|
||||
|
||||
console.log('配置文件中的环境:', ENV);
|
||||
console.log('配置文件中的API URL:', API_BASE_URL);
|
||||
|
||||
// 当前环境的 API 基础地址
|
||||
const BASE_URL = API_BASE_URL;
|
||||
|
||||
12
src/utils/debug.js
Normal file
12
src/utils/debug.js
Normal file
@ -0,0 +1,12 @@
|
||||
// 调试环境变量
|
||||
console.log('===== 环境变量调试信息 =====');
|
||||
console.log('NODE_ENV:', process.env.NODE_ENV);
|
||||
console.log('VUE_APP_API_URL:', process.env.VUE_APP_API_URL);
|
||||
console.log('===========================');
|
||||
|
||||
export default {
|
||||
logEnv: () => {
|
||||
console.log('当前环境:', process.env.NODE_ENV);
|
||||
console.log('API地址:', process.env.VUE_APP_API_URL);
|
||||
}
|
||||
};
|
||||
@ -12,23 +12,34 @@ module.exports = (env, argv) => {
|
||||
// 确定环境
|
||||
const nodeEnv = env?.testing ? 'testing' : mode;
|
||||
|
||||
console.log('构建环境:', nodeEnv);
|
||||
console.log('命令行参数:', env);
|
||||
|
||||
// 加载对应的环境变量文件
|
||||
const envFile = `.env.${nodeEnv}`;
|
||||
const defaultEnvFile = '.env';
|
||||
|
||||
console.log('尝试加载环境文件:', envFile);
|
||||
|
||||
// 加载环境变量
|
||||
let envConfig = {};
|
||||
|
||||
// 先尝试加载默认环境变量文件
|
||||
if (fs.existsSync(defaultEnvFile)) {
|
||||
console.log('加载默认环境文件:', defaultEnvFile);
|
||||
envConfig = dotenv.parse(fs.readFileSync(defaultEnvFile));
|
||||
}
|
||||
|
||||
// 再尝试加载特定环境的环境变量文件
|
||||
if (fs.existsSync(envFile)) {
|
||||
console.log('加载特定环境文件:', envFile);
|
||||
envConfig = { ...envConfig, ...dotenv.parse(fs.readFileSync(envFile)) };
|
||||
} else {
|
||||
console.log('环境文件不存在:', envFile);
|
||||
}
|
||||
|
||||
console.log('加载的环境变量:', envConfig);
|
||||
|
||||
// 将环境变量转换为 webpack 定义插件需要的格式
|
||||
const envKeys = Object.keys(envConfig).reduce((prev, next) => {
|
||||
prev[`process.env.${next}`] = JSON.stringify(envConfig[next]);
|
||||
@ -38,7 +49,16 @@ module.exports = (env, argv) => {
|
||||
// 确保 NODE_ENV 被正确设置
|
||||
envKeys['process.env.NODE_ENV'] = JSON.stringify(nodeEnv);
|
||||
|
||||
console.log(`Building for ${nodeEnv} environment`);
|
||||
// 直接设置 VUE_APP_API_URL
|
||||
if (nodeEnv === 'testing') {
|
||||
envKeys['process.env.VUE_APP_API_URL'] = JSON.stringify('https://api-dev.beefast.co');
|
||||
} else if (nodeEnv === 'production') {
|
||||
envKeys['process.env.VUE_APP_API_URL'] = JSON.stringify('https://api.beefast.co');
|
||||
} else {
|
||||
envKeys['process.env.VUE_APP_API_URL'] = JSON.stringify('http://localhost:8000');
|
||||
}
|
||||
|
||||
console.log('注入的环境变量:', envKeys);
|
||||
|
||||
return {
|
||||
mode,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user