uni-app vue2项目通过 unplugin-vue2-script-setup 插件使用 < script setup>,条件编译失效。

s3fp2yjn  于 4个月前  发布在  uni-app
关注(0)|答案(1)|浏览(75)

问题描述

vue2项目通过 unplugin-vue2-script-setup 插件使用 ,条件编译失效。

如下代码, wkv h5wkv 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>

复现步骤
[复现问题的步骤]

  1. 使用 vue-cli 创建 vue2 项目。
  2. 安装并配置 @vue/composition-apiunplugin-vue2-script-setup
  3. 添加上述代码并运行。

预期结果

正常执行条件编译。

实际结果

条件编译的注释疑似被当做普通注释处理,导致条件判断失效。

系统信息:

  • 发行平台: H5平台
  • 操作系统: Windows 10
  • HBuilderX版本: 3.6.18
  • uni-app版本: 2.0.2-3071120230427001

补充信息

bpsygsoo

bpsygsoo1#

不止 const 有问题, import 也有问题。
我看了 unplugin-vue2-script-setup 插件的源码,它对 import 和 变量定义都做了处理,但是没有对 uni-app 的条件编译做兼容。

我给 unplugin-vue2-script-setup 提了 issue,然后 unplugin-vue2-script-setup 仓库被 archived 了,估计是不打算更新了, uni-app 这边有什么办法能解决吗?

相关问题