Vue中的cached

源码:
/**
 * Create a cached version of a pure function.
 */
function cached (fn) {
  var cache = Object.create(null);
  return (function cachedFn (str) {
    var hit = cache[str];
    return hit || (cache[str] = fn(str))
  })
}
应用:
/**
 * Camelize a hyphen-delimited string.
 */
var camelizeRE = /-(\w)/g;
var camelize = cached(function (str) {
  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
});
 
 

/**
* Hyphenate a camelCase string.
*/
var hyphenateRE = /\B([A-Z])/g;
var hyphenate = cached(function (str) {
    return str.replace(hyphenateRE, '-$1').toLowerCase()
});

测试
camelize('test-case');  //"testCase"
hyphenate('testCase'); //"test-case"
知识点
1.闭包
2.String.prototype.replace
3.正则\b 和 \B

 领个红包,小赞赏一下吧

### 如何在 Vue2 项目中正确配置 `.gitignore` 文件 为了确保 Vue2 项目的 Git 版本管理更加高效和整洁,可以通过合理配置 `.gitignore` 文件来排除不必要的文件和目录。以下是详细的配置方法: #### 配置 `.gitignore` 的基本规则 `.gitignore` 文件用于指定不需要被 Git 跟踪的文件或目录。对于 Vue2 项目而言,通常需要忽略以下几类内容: - 开发环境中的临时文件。 - 构建后的生产文件。 - 敏感数据(如 API 密钥)。 具体来说,可以参考如下配置[^4]: ```plaintext # macOS 系统文件 .DS_Store # Node.js 和依赖相关文件 node_modules/ npm-debug.log* yarn-debug.log* yarn-error.log* # 生产构建文件 /dist/ # 测试相关文件 test/ # IDE 或编辑器生成的临时文件 *.log *.swp *.sublime-project *.sublime-workspace ``` #### 结合实际需求扩展忽略规则 如果项目中有其他特定的需求,则可以根据实际情况调整 `.gitignore` 文件。例如,在 UniApp 项目中,还需要额外忽略 `unpackage` 目录下的某些子目录[^2]。类似的逻辑也可以应用到 Vue2 项目中,比如忽略打包过程中产生的中间产物或其他无用文件。 另外需要注意的是,当遇到复杂场景时,可能需要通过正则表达式或者更高级的方式定义匹配模式。例如,保留某个特殊路径而不忽略它,可以在前面加上感叹号 (`!`) 来取消之前的忽略规则[^3]。 #### 强制添加已忽略的文件 假如因为某种原因已经将一些应该被忽略的文件提交到了远程仓库,那么即使后来修改了 `.gitignore` 文件也不会自动移除这些文件。此时可采用 `-f` 参数强行覆盖原有状态并重新推送至服务器[^1]: ```bash $ git rm --cached <file> $ git commit -m "Remove ignored files" $ git push origin main ``` #### 示例代码展示 下面是一个完整的 `.gitignore` 文件示例适用于大多数标准 Vue2 应用程序: ```plaintext # General system files Thumbs.db ehthumbs.db Desktop.ini # Editor-specific settings .vscode/* !.vscode/settings.json # Build output directories and temporary files /build/ /dist/ *.map # Dependency management tools' cache data node_modules/ pnpm-lock.yaml yarn.lock # Logs generated by the application during runtime logs/*.log ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值