uniapp微信小程序使用HBuilder编译后通过脚本文件将根目录下的JS文件复制到编译后的mapweixin目录下

如果你希望在HBuilder编译后使用脚本文件将根目录的JS文件放置到mapweixin目录下,可以编写一个脚本文件来实现这个操作。用于将根目录的JS文件复制到mapweixin目录

问题:使用HBuilder编译时,未使用到的自定义文件不会编译到mapweixin目录下。每次编译完成后需要手动copy,才能使用;所以我们需要使用脚本文件将HBuilder根目录下的自定义js文件复制到mapweixin下,下面是使用示例:

一、在根目录下创建打包后需要使用的js文件

1、在根目录下创建需要复制和使用的js文件(FinClipConf.js)

module.exports = {
    
    
  extApi:[
    {
    
    
        name: 'LoginApi',
        sync: false, // 是否为同步api
        params: {
    
    
          loginType: '',
          openPage:'',
          openType: '',
          openData:'',
        }
    }
  ]
}

在这里插入图片描述

二、在根目录下放置脚本文件

如果项目是使用vue2.0框架开发的小程序,就添加vue.config.js脚本;如果是vue3.0框架开发的小程序,就添加vite.config.js脚本
在这里插入图片描述
1、vue2.0框架,配置脚本文件(vue.config.js)

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin') //最新版本copy-webpack-plugin插件暂不兼容,推荐v5.0.0

module.exports = {
    
    
	configureWebpack: {
    
    
		plugins: [
			new CopyWebpackPlugin([
				{
    
    
					from: path.join(__dirname, 'src/FinClipConf.js'),
					to: path.join(__dirname, 'dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, 'FinClipConf.js')
				}
			])
		]
	}
}

2、vue3.0框架,配置脚本文件(vite.config.js)

import path from 'path';
import fs from 'fs-extra';
import {
    
     defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';

function copyFile() {
    
    
	return {
    
    
		enforce: 'post',
		async writeBundle() {
    
    
			await fs.copy(
				path.resolve(__dirname, 'FinClipConf.js'),
				path.join(
					__dirname,
					'unpackage/dist',
					process.env.NODE_ENV === 'production' ? 'build' : 'dev',
					process.env.UNI_PLATFORM,
					'FinClipConf.js'
				)
			);
		},
	};
}

export default defineConfig({
    
    
	plugins: [uni(), copyFile()],
});

实现效果:
编译成功后,成功将自定义js文件,通过脚本文件复制到了mapwexin文件夹下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_47791238/article/details/131573973
今日推荐