uni-app
官方推荐是在Hbuild
上进行开发,也方便的,Hbuild
里面提供了官方的插件以及一些优化。但是,真正就开发IDE来讲,Hbuild
或许和VSCode
有可比性,但是和Webstorm
来讲,Hbuild
就是个弟弟!我还是喜欢手动配置后在Webstorm
中开发。我认为,智能提示是一个IDE给我们的便利,但打包和运行都在IDE
里面的话,等于说罩了一层壳子,是不透明的,打包和运行还是走手动靠谱的点。来看下在Webstorm
中折腾uni-app
吧。
让webstorm识别@路径
我们在项目文件/src/common/api
声明一个const
:
1 | import http from './interface'; |
然后在main.js
中使用的时候:
1 | import api from '@/common/api'; |
发现这里有个波浪号,鼠标移上去后发现提示:Module not installed
。这就很郁闷了。
我以前有一篇博客webstorm中vue语法的支持是解决了Vue项目中的这个问题,所以我尝试来使用以前的方法来解决。
我尝试将preferences > Languages & Frameworkes > JavaScript > Webpack
中的webpack configuration file配置为node_module/@vue/cli-service/webpack.config.js
,无效。
又尝试用vue cli
重新创建了一个独立的项目,并将新项目中的build
和config
文件放到我这个uni-app项目中,并且手动检查每个依赖,并安装,最后将webpack configuration file设置为build/webpack.dev.config.js
。很好,起作用了,main.js
中的波浪号小时,是可以链接过去的。但是,在npm run serve的时候提示webpack的参数有问题。
得,安装的webpack和uni-app的插件webpack冲突了,跑不起来,更别说开发了,这条路死了。
上面两个法子在这个uni-app项目中都不适用。首先webpack
是没有暴露出来的,这里是使用了@dcloudio
库中的webpack设置,我们是不可见的,所以不能用原来的方法解决。
找到了这篇文章:在 WebStorm 中,配置能够识别 Vue CLI 3 创建的项目的别名 alias @。这里说到,我们可以使用在项目根目录下面创建文件:alias.config.js
来定义vue中的@
路径来达到webstorm识别的跳转的:
1 | /** |
然后在preferences > Languages & Frameworkes > JavaScript > Webpack
中的webpack configuration file设置为alias.config.js
,然后点击apply
,再看main.js
,很好,识别了,可以链接过去了。
支持scss
如果是用Hbuild
去搞的话,想使用less
、scss
之类的话就需要去插件市场去安装对应的插件,那么我们用cli创建的项目咋办?
先不管其他的,我们直接在项目中应用scss
看看,将src/pages/main/mian.vue'中的样式修改为
scss`:
1 | <style lang="scss"> |
然后跑一跑看看,哟,报错了呢,😠
报错提示我们预处理css的loader没有装。
那咋办捏?这里又没有webpack,我们怎么安装呢?
查了相关资料,uni-app
已经附带了预编译语言的支持,当检测到使用scss/sass/less
等预编译语言但未安装依赖时,会有提示缺少xx模块,按照提示信息安装相关模块即可。
那么我们安装loader即可:
1 | npm i node-sass sass-loader --save-dev |
安装完后再运行,可以看到页面正常显示,scss
的写法也会被识别。
然后就可以使用uni.scss
来做统一的画风。
修改h5开发调试端口
默认的端口是8080
,假设我们的业务开发时api的跨域限制为6443
,那么很不方便,我们需要将h5的端口调整。
修改src/manifest.json
文件,在文件最下面加上:
1 | "h5": { |
然后重新运行,端口就被调换到了6443。