diff --git a/config/index.js b/config/index.js index 23216fc..2233637 100644 --- a/config/index.js +++ b/config/index.js @@ -1,5 +1,14 @@ const path = require('path') require('dotenv').config({ path: path.resolve(__dirname, '../.env') }) +// Taro 构建配置运行在 Node 中;把小程序运行时需要的地址在构建期注入, +// 避免把 process.env 原样带入微信小程序运行时(小程序没有 Node 的 process)。 +// dev:weapp 时 NODE_ENV=development,默认读 .env.development 走本地联调; +// build:weapp 时 NODE_ENV=production,默认读 .env.production/.env 走线上。 +// 仍可用 TARO_APP_ENV 显式覆盖。默认必须安全(线上),避免队友构建出连本机的包。 +const appEnv = process.env.TARO_APP_ENV || (process.env.NODE_ENV === 'development' ? 'development' : 'production') +const envName = appEnv === 'production' ? '.env.production' : '.env.development' +// 环境专用文件必须覆盖 .env 中的默认值,否则本地构建会误用线上 API 地址。 +require('dotenv').config({ path: path.resolve(__dirname, `../${envName}`), override: true }) const config = { projectName: 'smart-engraving-miniapp', date: '2026-7-20', @@ -14,6 +23,7 @@ const config = { plugins: [], defineConstants: { __OSS_BASE_URL__: JSON.stringify(process.env.OSS_BASE_URL || ''), + __API_BASE_URL__: JSON.stringify(process.env.TARO_APP_API_BASE_URL || 'https://wxbackend.tokenleaping.com'), }, copy: { patterns: [ diff --git a/dist/base.wxml b/dist/base.wxml index 77b9e93..19dcfc8 100644 --- a/dist/base.wxml +++ b/dist/base.wxml @@ -133,6 +133,14 @@ +