当前位置: 首页 > news >正文

美橙表业手表网站销售方案怎么做

美橙表业手表网站,销售方案怎么做,如何建设公司门户网站,电大亿唐网不做网站做品牌在上一篇文章《 ThinkSNS基于Laravel master分支,从1到 0,再到0.1》,简单的介绍了 ThinkSNS ,这里分享在开发过程中,前端选择的心理活动。 Laravel Mix的放弃 在 Laravel 中,前端工作流默认是由 laravel-mix 包驱动的&…

在上一篇文章《 ThinkSNS+基于Laravel master分支,从1到 0,再到0.1》,简单的介绍了 ThinkSNS+ ,这里分享在开发过程中,前端选择的心理活动。

Laravel Mix的放弃

在 Laravel 中,前端工作流默认是由 laravel-mix 包驱动的,集成了 Vue.js。而作为核心开发之一,也负责前端这块的开发。其实,这是seven第一次写 Vue,之前都是用 React 做开发。

然后seven和另一个核心成员 Wayne 在楼道抽烟聊前端这事情,要不要用 Vue,这个东西对于我们来说,都没有做过,我们都只会 React。然后突然Wayne司机来了一句“玩点没玩过的嘛”!就这样,我们决定前端使用 Vue。

跑题了,决定用什么前端框架后,起初是5.3版本的 Laravel 前端构建有 gulp 和 webpack 都在里面,然后在 gulpfile.js 里面配置编译 js,这就不爽了呀,之前用惯了 webpack 也用惯了自动导出 css。这家伙不能从js里面抽离css单独打包,样式,js都是单独编译的。如何能忍?但是还是忍了,因为 5.4 即将发布,因为前端不是 ThinkSNS+ 重点方向,过了很久,5.4 虽然还没正式发布,我们决定直接合并。发现 laravel-mix 也是这个样子。然后,然后,算了,删了 laravel-mix 吧,来自于开发 React 经验做构建的自信,我决定自己做前端构建。

webpack && Vue 构建的坑

好了,开始自己做构建了,为了保持js语法的统一性,我们一直都是使用 webpack.config.babel.js 文件名,使用 ES6 语法配置webpack,所以,首先依赖的包是 Babel 各个包。然后依赖进入了 Vue 包,哈哈成功了,可以转换 Vue 了。

高兴的太早了,是的,没有达到想要的效果。style 也没有办法导出为独立css。最后利用 vue-cli 生成了一个example,发现这个构建也是很多问题。原因嘛,主要是不适合用在 laravel 中。example 的意义在于适合大多数情况,而我们的需求就是少数情况,由此踏上了各种文档阅读之旅。

最后在 vue-cli 中找到了答案,按照 example 的配置,去掉不需要的多余依赖,在 配置中逐步依赖,最终完成(感谢尤大神提供了这么全的配置说明)。

mix-manifest.json

配置是完成了,强迫症不能忍什么?使用 laravel-mix 的时候是可以使用 Laravel 的 mix 函数的,自己做构建,没法玩了。后来阅读 laravel-mix 包的代码,也没有找到答案,然后拿着 mix-manifest.json 文件反复研究,突然茅塞顿开,不就是这么一个文件的事情么?我自己生成他不就完了?

解决方法有了,如何实现呢?起初在 webpack 配置中的实现如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

利用 webpack-stats-plugin 这个包,自己实现 transform 并把 文件输出到输出目录。

这个东西一直用了接近两个月,直到后来,我们有个包 「plus-component-web」主要开发的是 h5 这个包就是利用 vue-cli 生成的,你想象一下配合laravel后,没有watch,没有hot,开发人员忍了一个月,每次修改完运行 yarn build 看样子,再修改。最后大功能开发完成后,调bug,调细节,简直要人崩溃好么。

作为为公司的“前端担当”用了一个上午的时间,删了 vue-cli 生成的构建套装,自己做了一套。问题出现了,我希望这个拓展包中,可以和 ThinkSNS+ 的后台开发一样,可以使用 mix 函数怎么办?

总不能在这个包里面也放上面的 函数+拓展生成 mix-manifest.json 文件吧?这也太不方便了点。于是决定,我要早轮子,最后在周末的时候,终于开发出了一个 webpack 插件 webpack-laravel-mix-manifest

核心代码如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

插件的实现思路来自于 webpack-stats-plugin 这个包,非常感谢这个作者。

然后转换方法如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

我知道,各位看官要吐槽了,这里为啥不用 reduce ?起初,初版真的是 reduce 实现的,代码看起来也很好。问题来了,vue的构建都是 node 4 起步,如果用 reduce, 至少 node 6 起步了。最后妥协了,为了保证 node 4 - 7 都能运行。用了 for in来生成。

如果你对比过这个 webpack 插件,你一定发现了,之前我在 webpack 配置文件中写的转换函数其实是有bug的,例如,我入口不是对象或者数组咋办?我输出的不是 name.hash 格式怎么办?都做不到。在 webpack 插件中,解决了这个问题,最终使用如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

生成的 mix-manifest.json 如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

Hot 热加载

用了 mix 辅助函数,怎么能不提 热加载呢?在 Laravel 里面热加载是很有意思的事情。阅读 laravel-mix 后问题很简单。只要在 webpack 配置中配置如下:

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

完美,ThinkSNS+,以及拓展包都惠及了,可以尽情享受 mix 辅助函数带来的便利。

开源代码仓库:

GitHub:https://github.com/zhiyicx/thinksns-plus(点击star,每日关注开发动态。)

转载于:https://blog.51cto.com/14231620/2411066

http://www.lbrq.cn/news/2673919.html

相关文章:

  • 西安做网站公司百度快照搜索引擎
  • 网站建设是什么专业里的科目微信营销成功案例8个
  • 网站做好了如何发布大数据营销平台那么多
  • wordpress地址和站点地址有什么用什么是市场营销
  • 邢台网站建设有哪些网站查询进入
  • 淘金企业网站建设服务安装百度到手机桌面
  • 武汉品牌网站设计互联网营销策划方案
  • WordPress能放小程序吗西安seo排名
  • 做网站最适合用多大的图片百度域名收录提交入口
  • 重庆网站建设零臻靠谱百度快速seo软件
  • 免费网站建站模板网上推广赚钱项目
  • 长沙网站设计哪家专业chatgpt网页
  • 四川成都疫情最新消息今天又封了扬州seo
  • 天河区门户网站官网郑州网络营销
  • 网站建设方式与信息化什么是营销型网站?
  • 网站备案幕布怎么做珠海网站建设优化
  • 如何在手机上做微电影网站aso优化服务
  • 企业网站建设时优化关键词的问题中国十大seo公司
  • 什么软件能把做的网站上传什么软件可以弄排名
  • wordpress扫码支付后才能看到图片seo刷网站
  • 天津河东网站建设公司郑州网站优化渠道
  • 昆明做网站哪家好推广咨询服务公司
  • 网站做cpa网站竞价推广托管公司
  • 怎么查一个网站是什么程序做的品牌推广策略有哪几种
  • 从网络安全角度考量_写出建设一个大型电影网站规划方案百度快照下载
  • 建筑工人信息平台沈阳高端关键词优化
  • 黑彩网站建设需要什么东西网站免费建站app
  • ps做网站需注意什么东莞发布最新通告
  • 网站所有权变更独立站建站平台有哪些
  • 网站域名备案需要资料网站制作的流程是什么
  • sqli-labs通关笔记-第42关 POST字符型堆叠注入(单引号闭合 手工注入+脚本注入两种方法)
  • HyperMesh许可使用监控
  • 查看 php 可用版本
  • 导入CSV文件到MySQL
  • word的正则替换
  • AI大模型 教师方向应用探索