微信小程序skyline全局工具栏文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/appbar.html
因为uniapp项目编译到小程序平台时会改变原有的目录结构,而微信小程序要求app-bar目录必须在项目的根目录下,求助有什么合适的解决方案?能够保证编译后原生组件的文件位置不变化
可以这样写,实测可行
import {
defineConfig
} from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import path from 'node:path'
const viteStaticCopy = import('vite-plugin-static-copy')
export default defineConfig({
plugins: [
uni(),
[
viteStaticCopy.then(res => {
return res.viteStaticCopy({
targets: [{
src: path.resolve(__dirname, './app-bar') + '/[!.]*',
dest: './app-bar',
}]
})
})
]
],
})
可以尝试使用 vite 插件解决,比如 viteStaticCopy,原理就是编译时将目标目录文件原样复制一份到打包目录中
// vite.config.js
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import { viteStaticCopy } from 'vite-plugin-static-copy'
const path = require('path')
export default defineConfig({
plugins: [
uni(),
[viteStaticCopy({
targets: [
{
src: path.resolve(__dirname, './app-bar') + '/[!.]*',
dest: './',
},
],
})]
],
})
m***@163.com (作者)
不行,使用官方git上的最新空项目,插件报错,提示:
Error [ERR_REQUIRE_ESM]: require() of ES Module E:\rsns\frontend-mp-new\node_modules\.pnpm\vite-plugin-static-copy@1.0.2_vite@4.3.5\node_modules\vite-plugin-static-copy\dist\index.js from E:\xx\xxx-mp-new\vite.config.ts not supported.
vite.config.ts代码
import { defineConfig,normalizePath } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { viteStaticCopy } from 'vite-plugin-static-copy';
import path from 'node:path'
// normalizePath(path.resolve(__dirname, './app-bar'))
// // instead of
// path.resolve(__dirname, './app-bar') // C:\project\foo
export default defineConfig({
plugins: [
uni(),
viteStaticCopy({
targets: [
// {
// src: 'bin/example.wasm',
// dest: 'wasm-files'
// }
]
})
],
})
项目版本:
uniapp cli 项目版本:3.0.0-alpha-4010120240403003
"vue": "^3.4.21"
"vite": "4.3.5",
猜测问题是这个导致:https://cn.vitejs.dev/guide/troubleshooting,还有什么别的解决方案吗?
2024-04-10 22:48
回复 m***@163.com: export default defineConfig(async () => {
const { viteStaticCopy } = await import("vite-plugin-static-copy");
2024-05-18 21:40
[已删除]
我想问一下,我将一个组件运行到weixin后,将四个文件复制到appBar里面,然后导入后要怎么在vue中使用该组件的方法
2024-05-18 21:54