这大概是“前后端分离”趋势下“前后端混合”的3P一族的最后定位分离,心里还是有些痒痒的。后来因为各种原因转向了前端,渐渐明白前后端分离就是前端分离,但是小公司,人不多,还是要写一点后端接口的位。以上都是废话,下面开始正文。在几个项目的开发过程中,可能是自己的水平不够。我发现前后端分离有时候比混合前后端是挺“傻”的大家,先放下你说的40M大刀,慢慢听我说。不知道大家在开发的时候有没有发现,有些请求在页面刚加载的时候需要使用ajax类向服务器发起一个或者多个请求。比如一些可定制因素比较多的项目需要请求,网站的LOGO,网站的主色调,网站的版权信息等,后台请求回微信公众号上面提到的一些通用做法是在页面刚加载的时候向后端发起请求,然后给页面赋值或者执行请求返回的信息。是不是觉得这个方法有点“傻”?我明明向后台提出了要求,你为什么不把我想要的都给我?相反,我做了两次额外的旅行?你能把你的刀放回刀鞘里吗?所以,我在想,我该怎么办?解决这个问题?用了几次JSONP,突然发现,页面请求回来请求刚才说的东西,没必要再写几段ajax了。下面开始正题。突然间,我不知道该如何表达。给大家举几个栗子说明一下我想说的(前端代码写在vue-cli中的模板文件中)(后端代码都是php代码,当然你可以改成jsp,asp等)1.用户自定义皮肤HTML代码'#F00','font'=>'#0F0',//等配置);//设置表头,说明MIME类型和字符编码header("Content-Type:text/css;charset=utf-8");//生成css代码(当然你可以选择更好的字符串拼接方式)echo'body{background-color:'.$skin['background'].';color:'.$skin['font'].';}';然后,打开你的页面,打开浏览器控制台,在network选项卡中可以看到css请求中,可以看到拼接好的css代码body{background-color:#F00;color:#0F0;}当然页面样式也会像拼接的css代码描述一样,背景为红色,文字为绿色。2.微信公众号网页开发主要是wx.config的简化HTML代码PHP代码//假设长时间运行后获取到微信公众号一些签名、logo之类的$data=array('appId'=>'0123456789','nonceStr'=>'qwertyuiop',//其他配置如);//设置header,说明MIME类型和字符encodingheader("Content-Type:text/javascript;charset=utf-8");//生成js代码(当然你也可以选择更好的字符串拼接方式)//配置比较多,我赢了'将它们一一列出写出echo'wx.config({debug:true,appId:"'.$data['appId'].'",nonceStr:"'.$data['nonceStr'].'",jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"]});';然后,打开你的页面,打开浏览器控制台,在network选项卡的js请求中可以看到拼接的js代码wx.config({debug:true,appId:"0123456789",nonceStr:"qwertyuiop",jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"]});那么ajax请求成功后就不需要再执行wx.config了,直接wx.ready小总结举了两个例子。我不知道你是否明白我在说什么。只想说,页面刚请求完就向后端发起的ajax请求,大部分都可以直接获取,不需要花费太多的js代码。就让后台生成吧。当然,用法还有很多,不限于以上两种用法。例如,您可以请求用户信息和目前发现的其他缺陷,例如请求自定义皮肤。请求的“css文件”无法缓存,下次刷新。页面需要重新请求,不适合请求大量非自定义的css代码。你需要自己控制css代码的数量,但我认为这不是一件坏事。比如请求wx.config的时候,每次的信息肯定是不一样的,这时候最好不要缓存^_^----------------------------------还有一个就是请求一个“js文件”的时候,在浏览器中,要跨js文件交互,必须要有一个全局的中间变量挂在window下面,比如微信公众号开发中的wx个人认为js中暴露给window的全局变量越多越不安全。因此,使用上述方法请求“js文件”的程度还是需要掌握的。说到这里,大家有什么问题/想法可以去评论区对我上面的内容有更正就更好了。感谢您花这么多时间查看页面并思考它。