2021-03-24
上文我们写了一个打包器,但是只能加载 JS 文件,现在我们尝试让他可以加载 CSS
如何加载 CSS思路
我们的 bundle 只能加载 JS
我们想要加载 CSS
如果我们能把 CSS 变成 JS。那么就可以加载 CSS 了12345678// 获取文件内容,将内容放至 depRelationlet code = readFileSync(filepath...
Read More
2021-03-03
webpack 要解决的两个问题现有代码(接上文)
很遗憾,这三个文件不能运行因为浏览器不支持直接运行带有 import 和 export 关键字的代码
怎么样才能运行 import / export
不同浏览器功能不同
现代浏览器可以通过 来支持 import export
IE 8~15不支持 import export,所以不可能运行...
Read More
2021-03-02
babel 与 AST先从Babel 说起
babel 的原理1、parse:把代码 code 变成 AST2、traverse:遍历 AST 进行修改3、generate:把 AST 变成代码 code2即:code – (1) - > ast – (2) - > ast2 – (3) - > code2
示例1234567impor...
Read More
2021-03-01
代码优化基本原则
易读性优先
如果不是性能瓶颈,就不要为了性能而改写代码
复杂性守恒原则:无论你怎么写代码,复杂性都是不会消失的推论:如果逻辑很复杂,那么代码看起来就应该是复杂的。如果逻辑很简单,代码看起来就应该是简单的。
命名程序员三大难题
变量命名
缓存失效
循环边界
可见变量命名的重要性。
网上有很多命名规范,大家可以参考。这里只讲基本原则。
...
Read More
2020-11-03
路由
在 config/routes 里添加 resources :sessions, only: [:create, :destroy] 只需要这两个 API
Modal
手动创建 app/modal/session.rb,因为 session 并不需要存在数据库中,内容123456789class Session include ActiveMode...
Read More
2020-09-20
如何进行架构设计
难点不在于架构设计的好不好,而在于细节是否做得妥当,或者叫做你的架构是否基于最佳实践。
依据
用户需求
团队配置
技术成熟度
用户需求
可登陆的增删改查
团队配置
会前后端的全栈工程师
技术成熟度
假设只会 Rails + Vue / React
什么是前后端分离
这里说的前端和后端是指前端代码和后端代码,不指人。不分...
Read More
2020-09-10
经典 MVC 架构
路由(router)根据请求路径来选择控制器(Controller)
控制器选择合适的视图(View),渲染给用户
如果涉及到数据库,控制器会调用 Modle 拿数据
Modle 会调用 ORM 来简化数据操作
ORM 会直接与数据库打交道
Rails 的 ActiveRecord 是一个超级强大的 ORM
这么看起来,Rails 很简...
Read More
2020-09-06
一个简单的测试123456789101112// gem install test-unit --verbosedef to_word(s) s.gsub(/\d/, '')endrequire 'test/unit'class ToWordTest < Test::Unit::TestCase def te...
Read More
2020-09-02
HTTP 协议curlcurl -s -v 网址
-s 是 silent,用于隐藏进度条
-v 是 verbose,用于打印全部 header
* 开头的是注释
> 开头的是 HTTP 请求
< 开头的是 HTTP 响应
-o nul 是为了隐藏 HTML 文本(LINUX 和 mac 要将 nul 改成 /dev/null)...
Read More
2020-08-29
Ruby 的基本概念运行 ruby 的方式
irb
可交互命令行
你每次输入一个式子,他都会用 => 给出一个值
ruby
ruby 加文件路径
变量
没有关键字
没有 var、let、const,直接 a = 1 就行
局部变量
小写字母开头
_开头
全局变量
$ 开头
类变量
@@ 开头
实例变量
@ 开头
...
Read More