12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import type { UserConfigExport } from '@tarojs/cli';
- import path from 'path';
- import dotenv from 'dotenv';
- // 加载 .env.development 文件中的环境变量
- dotenv.config({ path: path.resolve(__dirname, '../.env.development') });
- export default {
- logger: {
- quiet: false,
- stats: true,
- },
- mini: {},
- h5: {
- devServer: {
- proxy: {
- '/dr': {
- target: 'http://101.43.219.60:7700', // 你的后端服务地址
- changeOrigin: true, // 允许跨域
- // pathRewrite: {
- // '^/dr/api': '' // 可选,用于重写路径
- // }
- },
- },
- host: 'localhost', // 这里设置你想要的主机名,
- static: {
- directory: path.resolve(__dirname, '../public'),
- },
- },
- // Use webpackChain to customize Webpack
- // eslint-disable-next-line
- webpackChain(chain, webpack) {
- // 读取环境变量,告诉webpack在打包时,使用环境变量中定义的值 替换掉代码中的process.env.USE_MSW
- // 打印环境变量,检查是否正确读取
- console.log('环境变量 process.env.USE_MSW:', process.env.USE_MSW);
- console.log('环境变量 process.env.NODE_ENV:', process.env.NODE_ENV);
- // 确保使用正确的值,直接从.env文件读取
- const useMSW = JSON.stringify(
- process.env.USE_MSW === 'true' ? 'true' : 'false'
- );
- console.log('使用的 useMSW 值:', useMSW);
- // 检查 define 插件是否已存在,如果不存在则先创建它
- const hasDefinePlugin = chain.plugins.has('define');
- if (!hasDefinePlugin) {
- chain.plugin('define').use(webpack.DefinePlugin, [{}]);
- }
- // 然后再修改插件配置
- chain.plugin('define').tap((args) => {
- // 确保args[0]存在
- if (!args[0]) {
- args[0] = {};
- }
- args[0]['process.env.USE_MSW'] = useMSW;
- console.log('DefinePlugin配置:', args[0]);
- return args;
- });
- chain.devServer.merge({
- setupMiddlewares: (middlewares, devServer) => {
- devServer.app.get('/mockServiceWorker.js', (req, res) => {
- res.set('Content-Type', 'application/javascript');
- res.sendFile(
- path.resolve(__dirname, '../public/mockServiceWorker.js')
- );
- });
- return middlewares;
- },
- });
- },
- },
- } satisfies UserConfigExport<'webpack5'>;
|