dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
39.9k stars 3.62k forks source link

vue create -p dcloudio/uni-preset-vue my-project 之后的代码怎么不是先运行vue.config.js? #568

Closed aiplat closed 2 years ago

aiplat commented 5 years ago

package.json中@dcloudio/vue-cli-plugin-uni的值是latest 如下: "@dcloudio/uni-cli-shared": "", "@dcloudio/uni-template-compiler": "", "@dcloudio/vue-cli-plugin-hbuilderx": "latest", "@dcloudio/vue-cli-plugin-uni": "latest", "@dcloudio/vue-cli-plugin-uni-optimize": "latest", "@dcloudio/webpack-uni-mp-loader": "", "@dcloudio/webpack-uni-pages-loader": "", "@types/html5plus": "", "@types/uni-app": "", vue create -p dcloudio/uni-preset-vue my-project 之后的代码,然后yarn serve,代码是先检测src,再运行vue.config.js。 然后在vue.config.js中有用nodejs执行一些代码的话就会后面才执行,这样就变成了不能同步。如果是先运行vue.config.js再去检测执行src中的文件就是正常的,原来就是这样。

然而把 "@dcloudio/vue-cli-plugin-uni": "0.9.34", 改成旧版的,就是先运行vue.config.js再去检测执行src中的文件。只是这样改的话,不知道有没有什么影响?
aiplat commented 5 years ago

比如说: 因为src中的manifest.json和pages.json两个文件是没有的,是由vue.config.js构建生成的,之后再放到src中。 但是package.json中@dcloudio/vue-cli-plugin-uni的值设置为latest 后,运行yarn serve, 会报错src中的manifest.json和pages.json不存在,无法运行项目。因为运行yarn serve并没有先执行vue.config.js再检测src。

fxy060608 commented 5 years ago

目前@dcloudio/vue-cli-plugin-uni的执行优先级是最高的,需要初始化一些环境数据,如果你需要自己提前做些额外工作,可以考虑修改 package.json 的 script 脚本命令,在脚本命令前先执行你的脚本