小斯斯
小斯斯
  • 发布:2022-08-07 02:33
  • 更新:2024-04-17 00:51
  • 阅读:2288

【报Bug】新创建的vue3 uni-app环境判断不生效

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.4

HBuilderX类型: 正式

HBuilderX版本号: 3.5.3

浏览器平台: Chrome

浏览器版本: 104.0.5112.79

项目创建方式: HBuilderX

操作步骤:

运行H5
页面上添加环境判断

// #ifdef APP-PLUS || MP-WEIXIN  
            console.log('小程序 or App')  
            // #endif

预期结果:

不执行console.log

实际结果:

依旧执行

bug描述:

运行H5后在页面上使用运行环境判断,运行时代以下码块还是会执行
// #ifdef APP-PLUS || MP-WEIXIN
console.log('小程序 or App')
// #endif

2022-08-07 02:33 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

测试未复现该问题,请检查代码或提供可复现 demo

  • 小斯斯 (作者)

    你好!我已经上传了附件,我的运行环境是:

    macOs:12.5

    hbuilderX:3.5.3.20220729

    2022-08-08 10:35

  • DCloud_UNI_WZF

    回复 小斯斯: 这不就是个默认模板项目吗,你的测试代码呢

    2022-08-08 10:51

  • 小斯斯 (作者)

    回复 DCloud_UNI_WZF: 我就是在这个默认测试项目上也跑不起来,不过我好像找到原因了,如果我的项目根目录名称是叫vite,就跑不起来了,在其他目录名称就没事,目录里面没有node_modal

    2022-08-08 11:19

  • 小斯斯 (作者)

    回复 DCloud_UNI_WZF: 我证实了这一点,存放项目的名称不能叫"vite",否则项目就没办法正常运行了

    2022-08-08 11:22

  • DCloud_UNI_WZF

    回复 小斯斯: 所以和条件编译没关系,是如果项目名称是vite 就报错是吧?

    2022-08-08 11:32

  • 小斯斯 (作者)

    回复 DCloud_UNI_WZF: 对~!和条件编译没啥关系

    2022-08-08 11:35

  • DCloud_UNI_WZF

    回复 小斯斯: 好的,问题已确认,感谢反馈

    2022-08-08 11:47

  • 3***@qq.com

    回复 小斯斯: 你好,我也出现了这个问题,请问在哪里修改vite啊?谢谢。

    2022-10-02 18:18

  • 小斯斯 (作者)

    回复 3***@qq.com: 是你存放的目录路径命名不能带有vite

    2022-10-08 15:00

  • 9***@qq.com

    回复 小斯斯: 存放的路径命名没有vite 也是报跟你一样的错误,怎么解决?

    2023-05-12 10:41

c***@gmail.com

c***@gmail.com

我的项目不包含vite,也是这样的问题,import Vue from 'vue'报了这个Uncaught SyntaxError: The requested module '/@fs/D:/Development/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-h5-vue/dist/vue.runtime.esm.js' does not provide an export named 'Vue' (at main.js:2:9)

c***@gmail.com

c***@gmail.com

解决了,我把#ifdef #endif删掉了,这两个又有什么作用
iimport App from './App'
import './uni.promisify.adaptor'
import uView from 'uview-ui'
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'

Vue.use(uView);
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
return {
app
}
}
// #endif

要回复问题请先登录注册