[dcloudio/uni-app]uni cli工程创建的项目,static 目录的条件编译 无效,Hbuilderx创建的则有效

2023-12-08 552 views
1

问题描述 通过 uni cli 创建的模板项目,在以h5或者mp-weixin打包后,代码static目录下仍然还有条件编译预定要排除的目录 而通过huilderx创建的项目,打包或者运行都能static目录条件编译

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

  1. 按照 官网指导创建uni cli项目 模板hello-uniapp
  2. 在src目录的static下创建 app-plus, h5 , mp-weixin等文件夹 ,分别放入几张图片
  3. 执行npm run build:h5,打包成功后进入dist/build/h5下 的static,除了h5文件夹,仍然还有app-plus和mp-weixin文件夹, npm run build:mp-weixin也同样的情况,app-plus和h5文件目录没有被编译掉

预期结果 https://uniapp.dcloud.net.cn/tutorial/platform.html#static-%E7%9B%AE%E5%BD%95%E7%9A%84%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91 按照此说明,uni cli 创建的项目应该能static条件编译

实际结果 image 打包后的目录下没有编译掉mp-weixin和app-plus[h5项目] image 打包后的目录下没有编译掉h5和app-plus[mp-weixin项目]

系统信息:

  • 发行平台: 微信小程序、H5平台
  • uni-app版本 [如使用Vue-cli创建/运行项目,则提供npm run info的运行结果] image

回答

8

注意是 src/static 目录下, ask 社区和 issue 不用重复发帖

3

对,就是src/static目录下,出现的这个问题

7

这边测试正常,如确认框架问题,提供下测试工程

6

看起来是升级 @vue/cli-plugin-babel @vue/cli-service 依赖版本导致,降为默认版本 ~4.5.19 测试正常

5

我是正常按照 官网的走的 vue create -p dcloudio/uni-preset-vue,初始就是5.0.0 image

2

@vue/cli 5.0 存在该问题,感谢反馈,后续优化

1

现在是 在package.json里 修改这两个版本 然后重新 npm install。安装完成后npm run build,先报错找不到module 'html-webpack-plugin',装了这个后再试又报错 找不到module 'cache-loader',装了这个再试还报错 找不到module 'webpack',装了后再试就打包不了

6

如不熟悉不可单独修改,因为关联的依赖有很多。 可以尝试使用 @vue/cli 4.x 版本新建一个

4
  1. 删除 node_modules 目录重新 npm i
  2. 使用 yarn 安装依赖
3

删除node_modules 在重新npm i 是无效的,我试了了两次。之后我换回5.0.0 然后npm i,再单独 装@vue/cli-plugin-babel 和 @vue/cli-service 的4.5.19版本,但是装完成后它会自己删除和更改其他的包,依然报上面我说的错误。我的npm 版本是 8.1.2 image image

8

是说先创建个4版本的cli脚手架,然后依照uni-cli的package.json里的依赖再安装?dcloudio它会自己适应vuecli版本么?

9

yarn我试一下能成功,刚才我用cnpm 去安装 也能成功

4

用HBuilderX创建的项目uni_modules下面的组件中的static也能够条件编译,但是用vue-cli的无法条件编译

image
0

是否最新的 alpha 版本依赖?

3

是用的正式版

8

用alpha 版本依赖后 src/static 下面的也不条件编译了