挑战21天手写前端框架 day2 环境准备和技能要求

简介: 挑战21天手写前端框架 day2 环境准备和技能要求

image.png



这个内容感觉有些重复了,但是看大纲里面是有这些内容的,想着读者能够,跟着这个系列,一步一步的实践,所以还是写了这么一篇。如果你有前端开发环境,和有 npm 发包经验,你可以跳过这篇内容。



环境配置

要进行现代前端开发,只需要电脑环境装有 Node & npm

当然你还需要一个开发 IDE,推荐使用 VS Code



终端

市面上有很多好用的终端软件,在这里我们使用内置终端。

  • 对于 Windows, 使用 Command PromptPowerShell
  • 对于 macOS,使用内置的终端应用程序 Terminal

Node & npm

几乎所有用于现代 JavaScript 项目的工具都基于 Node.js。该下载页面已预构建的安装包适用于所有平台。我们建议选择 LTS 版本以确保最佳兼容性。


Node 捆绑安装了 npm,这是一个 JavaScript 的包管理器。

要验证安装成功,请打开一个新的终端窗口并运行:

$ node --version
$ npm --version
复制代码


在 macOS 上使用 npm 安装全局模块时,经常会遇到权限问题,如果你遇到了 EACCES 错误,请查阅解决权限错误

注意,我现在用的node版本是 v16.13.1 ,如果你是跟着这个系列文章,step by step 的话,最好和我安装相同的 node 版本,因为这会减少很多预料之外的问题。


Git

因为我们会将仓库存放在 GitHub 上,所以我们会使用 Git 来提交和管理我们的项目。Git 是一个很高效流行的版本控制软件。


Git 通常伴随有 Git 主机,例如我们将使用的 GitHub,在这种情况下,需要进行其他设置。按照 Git 主机文档中的教程设置 Git:

否则,请遵循官方安装说明。可以从下载页面下载命令行实用程序。

要验证安装成功,请打开一个新的终端窗口并运行:

$ git --version
复制代码


Git GUI

Git 是一个命令行实用程序,但是有许多 GUI 客户端可用。使用 GitHub 的时候,推荐使用GitHub Desktop。其他 Git 主机,建议安装 Sourcetree

使用 VS Code 可以安装 GitHub 插件GitLens 插件



厂牌

取名字

首先为你自己的框架取一个好听易记的名字,比如我这里随便选了一个 malita,取小框架的意思,刚好包含了 alita 是巧合。(死不承认是趁机推广)


定下名字之后,可以通过 npm 上搜索一下是否已存在同名,可以直接访问 https://www.npmjs.com/package/你取得包名,如我取的是 malita。如果页面显示 404 那你大概率可以使用这个名字了,如果已经存在了同名的包,那你可以考虑换一个包名。如果你特别喜欢这个名字,那你可以在 npm 上面新建一个组织,如 alita,然后使用类似 @alita/malita 这样的包名。


新建 git 仓库

当然这一步并不是必须的,但是你最好还是使用 git 仓库来管理你的开发进度,至少有一个好处,你能看到你本次修改都改了哪些文件,当你遇到“为什么一直跑的好好的,突然就不行了”之类的疑问时,你就可以把你的代码恢复到它可以正确运行的时间节点上。


首先我们在 GitHub 上新建一个项目,组织和是否公开你可以自由选择,Repository name 填你上面取的名字就好。下方的 Initialize this repository with: 都不选,因为我们需要一个全新的全空白的仓库。


点击新建按钮,你就会进入项目管理页面

image.png

页面上会显示新建项目的命令,对于 git 命令不熟悉的朋友,非常的友好。


将仓库同步到本地

在你的工作目录下,执行 git clone you-git-url ,如 git clone https://github.com/xiaohuoni/malita.git,将会新建一个文件夹,文件夹名称为你上面取的包名,如 malita 然后用 VS Code 打开这个空文件夹。打开 VS Code 的终端(点击 任务栏中的终端 - 新建终端)。



发布自己的 npm 包


初始化 npm 包

执行 npm init -y-y 的意思是接下来 npm cli 问我们的所有问题,我们都回答 yes 就是全使用默认。

➜  malita git:(master) npm init -y
Wrote to /Users/congxiaochen/Documents/malita/package.json:
{
  "name": "malita",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/xiaohuoni/malita.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/xiaohuoni/malita/issues"
  },
  "homepage": "https://github.com/xiaohuoni/malita#readme"
}
复制代码


先建 git 在 npm init 有个好处,会自动生成 repository 信息,这样别人在使用你的包的时候,遇到问题,可以找到你仓库所在的地址。

上面的信息,修改你想修改的内容,比如 versionkeywordsauthor 。这里我将版本号改成了 0.0.1


然后执行 npm login 根据提示登录,然后执行 npm publish 将你的包推送到 npm 上。

➜  malita git:(master) ✗ npm publish 
npm notice 
npm notice 📦  malita@0.0.1
npm notice === Tarball Contents === 
npm notice 504B package.json
npm notice === Tarball Details === 
npm notice name:          malita                                  
npm notice version:       0.0.1                                   
npm notice filename:      malita-0.0.1.tgz                        
npm notice package size:  335 B                                   
npm notice unpacked size: 504 B                                   
npm notice shasum:        dbc8d0364b3c412eb611622615a301c008bddb98
npm notice integrity:     sha512-ves43De3fF12v[...]hm7yv+IGRy1Uw==
npm notice total files:   1                                       
npm notice 
+ malita@0.0.1
复制代码


恭喜你,在 npm 上发布了自己的一个包,你可以通过分享给其他的朋友来共享你的工作成果。

需要注意的是,如果你是使用组织名下包的方式,那在 npm publish (npm 发包命令,不知道没关系,接下来会提到)的时候,需要在包路径的 package.json 中增加 "publishConfig": { "access": "public" }, 配置。

如果你在 npm publish 的时候,提示你 403 权限相关问题。有两种情况,一种是你网络状态不佳,虽然提示 403 但是其实推送成功了,你可以通过访问页面 https://www.npmjs.com/package/malita 确认,如果还是显示 404,那就是这是一个别人的私有包,你就需要换一个名字,或者使用组织名下包。


总结

今天的内容就到这里了,感谢观看,如果你有什么疑问,可以通过评论和我互动。

目录
相关文章
|
1月前
|
缓存 前端开发 JavaScript
前端开发的必修课:如何让你的网页在弱网环境下依然流畅运行?
【10月更文挑战第30天】随着移动互联网的普及,弱网环境下的网页性能优化变得尤为重要。本文详细介绍了如何通过了解网络状况、优化资源加载、减少HTTP请求、调整弱网参数和代码优化等方法,提升网页在弱网环境下的加载速度和流畅性,从而改善用户体验。
124 4
|
4月前
|
JSON 前端开发 开发工具
初探在WSL中设置vim前端开发环境
初探在WSL中设置vim前端开发环境
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
6月前
|
前端开发
windows10 安装node npm 等前端环境 并配置国内源
windows10 安装node npm 等前端环境 并配置国内源
347 3
|
2月前
|
前端开发 API 开发者
🥇前端宝藏:多项目掌握技能的冒险之旅🏆
在前端开发的学习旅程中,实践是提升技能的关键。本文介绍了多个前端项目,包括计算器、天气应用、经典游戏等,涵盖了从React到Svelte的各种技术栈。每个项目都附有在线演示和源代码,旨在帮助读者深入理解实现细节,激励更多人参与实际项目开发。通过这些项目,读者可以将理论知识转化为实践,拓展职业机会。
20 0
|
4月前
|
存储 前端开发 JavaScript
高级前端必备技能
【8月更文挑战第17天】高级前端必备技能
42 1
|
4月前
|
前端开发 JavaScript
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
|
4月前
|
存储 前端开发 JavaScript
数组操作大揭秘:Web前端开发者必备技能!
【8月更文挑战第23天】本文介绍了JavaScript中数组的基本操作方法,包括创建、添加、删除元素、获取数组长度与特定索引的元素、修改元素以及判断元素是否存在等。此外还展示了如何利用 `concat()` 方法或扩展运算符合并数组。这些实用示例有助于前端开发者更好地理解和应用数组。
33 0
|
7月前
|
前端开发 开发工具 开发者
构建高效的前端开发环境
在如今快节奏的软件开发领域,构建一个高效的前端开发环境变得至关重要。本文将介绍一些关键的工具和技术,帮助开发者提升前端开发效率,包括代码编辑器、版本控制系统、自动化构建工具、包管理器以及调试和性能优化等方面。
|
5月前
|
移动开发 前端开发 JavaScript
高级前端工程师必备的技能
【7月更文挑战第8天】 **高级前端工程师**精通HTML5/CSS3/JavaScript,擅长React、Vue等框架,掌握性能优化、代码质量保证,能设计可扩展架构,处理前端安全,熟悉跨平台开发,持续学习新技术并领导团队,是技术与管理的结合体。他们对提升用户体验和推动技术创新起关键作用。
531 12