问题描述
vue2项目通过 unplugin-vue2-script-setup 插件使用 ,条件编译失效。
如下代码, wkv h5
和 wkv not h5
两条日志都会打印出来。
<script setup>
// #ifdef H5
console.log('wkv h5')
// #endif
// #ifndef H5
console.log('wkv not h5')
// #endif
</script>
如下代码,运行报错 Identifier 'a' has already been declared.
。
<script setup>
// #ifdef H5
const a = 1
// #endif
// #ifndef H5
const a = 2
// #endif
</script>
复现步骤
[复现问题的步骤]
- 使用 vue-cli 创建 vue2 项目。
- 安装并配置
@vue/composition-api
和unplugin-vue2-script-setup
。 - 添加上述代码并运行。
预期结果
正常执行条件编译。
实际结果
条件编译的注释疑似被当做普通注释处理,导致条件判断失效。
系统信息:
- 发行平台: H5平台
- 操作系统: Windows 10
- HBuilderX版本: 3.6.18
- uni-app版本: 2.0.2-3071120230427001
补充信息
无
1条答案
按热度按时间bpsygsoo1#
不止
const
有问题,import
也有问题。我看了
unplugin-vue2-script-setup
插件的源码,它对import
和 变量定义都做了处理,但是没有对uni-app
的条件编译做兼容。我给
unplugin-vue2-script-setup
提了 issue,然后unplugin-vue2-script-setup
仓库被 archived 了,估计是不打算更新了,uni-app
这边有什么办法能解决吗?