首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IMWeb前端团队

    自制前端脚手架

    前段时间因为需求使用了几款前端脚手架,包括yeoman、imweb-cli, 他们功能丰富 ,简单高效,其核心功能是根据用户选择的模板快速的新建一个完整的项目,也可以在其中做一些自定义的配置。 学会了使用架手架,便想了解脚手架到底是怎么工作的, 阅读了相关脚手架的源码后,对原理有了一点心得。 想了解的同学可以访问(https://www.npmjs.com/package/imweb-cli) 脚手架目录结构 了解了脚手架基本原理后,我们来尝试自己制作一款脚手架。 首先要明白脚手架的核心是模板,什么是模板呢? 模板就是包含一个项目完整信息的目录结构。 脚手架提供了对模板增、删、改、查的功能及初始化项目必要的能力。 运行 npm link 将脚手架挂在到全局 , 此时可以在命令行调试新建的脚手架框架了。 在任意目录下运行命令struct -h, 可以看到刚完成的脚手架命令可以在全局生效了。

    70630发布于 2019-12-03
  • 来自专栏IMWeb前端团队

    自制前端脚手架

    前段时间因为需求使用了几款前端脚手架,包括yeoman、imweb-cli, 他们功能丰富 ,简单高效,其核心功能是根据用户选择的模板快速的新建一个完整的项目,也可以在其中做一些自定义的配置。 学会了使用架手架,便想了解脚手架到底是怎么工作的, 阅读了相关脚手架的源码后,对原理有了一点心得。 想了解的同学可以访问(https://www.npmjs.com/package/imweb-cli) 脚手架目录结构 了解了脚手架基本原理后,我们来尝试自己制作一款脚手架。 首先要明白脚手架的核心是模板,什么是模板呢? 模板就是包含一个项目完整信息的目录结构。 脚手架提供了对模板增、删、改、查的功能及初始化项目必要的能力。 运行 npm link 将脚手架挂在到全局 , 此时可以在命令行调试新建的脚手架框架了。 在任意目录下运行命令struct -h, 可以看到刚完成的脚手架命令可以在全局生效了。

    1.6K80发布于 2017-12-29
  • 来自专栏VTeam技术团队

    前端脚手架开发入门

    为什么需要脚手架 脚手架本质上是一个工具,使用脚手架的目的就是摆脱构建工程时重复性的工作,尤其是当一个工程具有一定通用性时,工程脚手架的意义就更为突出。 STEP3: 交互式脚手架的另一个特点是灵活,使用者可以根据自己的需求,可以清晰的去选择让脚手架做什么,不做什么。 type: 'list', message: 'choose a type of project to init', choices: ['react', 'vue', 'h5' ], default: 'react', } type表示类型,choices为列表数组,使用者可以从react,vue,h5中选择模板,默认会是react模板。 STEP5: 我们已经通过交互方式拿到了项目描述,作者等信息,但是我们的目的是将这些信息写入到下载的模板中,也就是package.json中对应的description,author以及项目名称name

    1K30发布于 2020-12-14
  • 来自专栏前后两端不设限

    前端脚手架构建实践

    前面的话 在前端工程化过程中,为了解决多项目中,相似度高的工作,便诞生许多前端脚手架,这里记录下自己实现一个简易前端脚手架过程的实践。 NodeJs的路径操作库,如合并路径 chalk 命令行输出样式美化 具体实现 首先在一个新的文件夹,如xxx-tools下 npm init 创建一个node项目,因为是要做成一个npm包的脚手架 /bin/tempTool" }, 到目前为止,一个简单的前端脚手架实现了,在npm官网注册,在项目里执行npm login登录,之后npm publish如果一切顺利,npm包提交完毕,可以在其它项目中执行 npm i -g xxx-tools,安装这个包,执行xxx-tools命令,输出 Hello World,脚手架开发过程中,也涉及到在本地调试,可以直执行node . name}}; 最终输出到 dist 目录的文件,会替换其中双括号里的内容 结束的话 这里只是简单的例子,可以沉淀一些业务场景的模板,通过命令行的方式快速的创建,避免复制粘贴,其实本意是学习一下Node的脚手架工具的实现

    1.3K30编辑于 2022-12-24
  • 来自专栏跟牛老师一起学WEBGIS

    前端脚手架开发指南

    概述 脚手架本质上是一个工具,使用脚手架的目的就是摆脱构建工程时重复性的工作,尤其是当一个工程具有一定通用性时,工程脚手架的意义就更为突出。它可以让我们只需要一行命令,就可以初始化好一项工程。 实现脚手架 在根目录下创建文件index.js,并修改package.json文件内容: { ..., "bin": { "lzugis-cli": "index.js" } } 文件 调试 通过命令npm link连接脚本,调试脚手架,如下图所示: 5. 测试 先全局安装脚手架npm i sfmap-cli -g,再通过命令sfmap-cli create创建工程。

    98920编辑于 2023-02-27
  • 来自专栏前端Q

    开发前端 CLI 脚手架思路解析

    为什么要自己搞脚手架 在实际的开发过程中,我们经常用别人开发的脚手架,以节约搭建项目的时间。 但是,当 npm 没有自己中意的脚手架时,我们不得不自己动手,此时学会开发前端 CLI 脚手架的技能就显得非常重要。搭建一个符合大众化的脚手架能使自己在项目经验上加个分哦! 入门需知 下面我们以创建 js 插件项目的脚手架来加深我们对前端脚手架的认知。 ] (控制台字符样式) commander[2] (实现 NodeJS 命令行) download[3] (实现文件远程下载) fs-extra[4] (增强的基础文件操作库) handlebars[5] download: https://www.npmjs.com/package/download [4]fs-extra: https://www.npmjs.com/package/fs-extra [5]

    1.1K11编辑于 2021-12-17
  • 来自专栏前端魔法指南

    前端工程化之脚手架( ? )

    阅读了我上一篇文章,就可以感受到环境配置对于前端有多么痛苦 那我今天的想法呢,就是紧赶着搭一个自己的脚手架出来,别整得我每次搭建项目都心态爆炸 那么按照网上的教程来说,还是蛮简单的 基本流程 基本设置 这个大坑可能常伴你左右(网上有说在cli.js第一行添加某些玩意儿就行,但是我这里没有效果) 正确的做法是 修改默认打开方式为node 正式开始 首先明确一下我们的目标,我希望完成一个简单的但是有一定拓展性的脚手架 )) // 参数2: 创建位置 } 于是当我们选定tsx&&react&&sass会启动下载 (这里失败了,下载git这一部分我还在考虑是否通过下载模板的方式完成) 问题 只是下载git的话我需要脚手架

    72810编辑于 2022-08-01
  • 来自专栏吴文周的专栏

    前端-团队效率-node脚手架进程守护

    文件配置需要监听变化的文件或者目录 例如在 .ngplimit 文件写入vue.config.js 下载全局命令,执行npg run xx 替换用npm run xx 需求背景 node项目中越来越多的脚手架命令 修改脚手架配置文件,或者中间层服务时可以热跟新不需要重启服务 配置化,无缝命令切换 解决方案 监听配置文件中的文件以及文件目录,如果发生变化重启服务 新增同质化的系统命令 核心技术模块 chokidar

    51300发布于 2020-01-30
  • 来自专栏吴文周的专栏

    前端-团队效率-node脚手架进程守护

    文件配置需要监听变化的文件或者目录 例如在 .ngplimit 文件写入vue.config.js 下载全局命令,执行npg run xx 替换用npm run xx 需求背景 node项目中越来越多的脚手架命令 修改脚手架配置文件,或者中间层服务时可以热跟新不需要重启服务 配置化,无缝命令切换 解决方案 监听配置文件中的文件以及文件目录,如果发生变化重启服务 新增同质化的系统命令 核心技术模块 chokidar

    40830发布于 2020-02-19
  • 来自专栏源码揭秘

    前端工程化-打造企业通用脚手架

    add material核心流程 · 核心代码实现 · 小结 通用能力 总结 前言 随着前端工程化的概念越来越深入FEer心,前端开发过程的技术选型、代码规范、构建发布等流程的规范化、标准化是需要工具来保驾护航的 脚手架则可作为工程化的辅助工具,从很大程度上为前端研发提效。 脚手架是什么? 那脚手架是什么呢? 脚手架核心价值 综上,前端脚手架存在意义重大。脚手架的核心目标是提升前端研发整个流程的效能。 自动化。避免项目重复代码拷贝删改的场景;将项目周期内的Git操作自动化。 标准化。 通用能力 上述从focus create projectName和focus add material的使用和核心实现阐述了脚手架@focus/cli在前端研发过程的所起到提效作用。 比如说实现通过脚手架新建脚手架?通过脚手架新建一切物料? 总结 ❝上述代码存放在仓库@careteen/cli。 脚手架的核心目标是提升前端研发整个流程的效能。

    1.1K20编辑于 2022-02-14
  • 来自专栏教你做小游戏

    5前端代码共享方案:npm包、git submodules、脚手架模板、复制、UMD或模块联邦

    这些游戏是不同的前端项目,而这些项目有很多公共依赖,我是如何管理的呢?是如何做方案选型的呢?今天,我先介绍5前端代码共享方案,我使用的方案就是从这5种中选择的2种。 脚手架模板生成举个例子,create-react-app、vite等都有一些初始化项目的模板。其实大多数前端项目都是以这些模板为起点,逐渐迭代。而且很多公司都有自己的项目脚手架,有自己的独特的模板。 脚手架可能会预先安装一些依赖,这些依赖是npm包,开发者需要阅读脚手架文档来了解。代码生成后,代码全放在引用方的仓库里,开发者可能随时修改文件。因此,脚手架模板更新时,项目更新难度相对较高。 UMD或模块联邦例如通过script脚本引入,或者通过Webpack5的模块联邦引入。 我确实有一些不同的项目,需要统一的初始化模板,所以选用了脚手架模板生成。而且我有明确的迭代更新脚手架模板的方案。我不需要复制。

    11.5K61编辑于 2022-10-31
  • 来自专栏Derry Blog

    从0开始搭建优雅的前端脚手架工具

    前言在日常开发中,我们经常会使用到各种脚手架工具(cli): vue-create-app,ng 包括 npm。它们极大简化了开发人员对于项目结构和文件创建的工作,让我们可以把精力专心在业务实现上。 ;process.exit();现在我们的脚手架工具已经搭建好了,大家可以一起来尝试下了!全部源码d-cli

    88230编辑于 2022-12-05
  • 来自专栏JavaScript高级程序设计

    前端脚手架开发需要了解哪些技术点

    因为最近团队里在做一个基于Vue的脚手架,刚好自己也对这个东西尝试过,所以刚好聊一下这个问题。 简单来说脚手架其实是一个项目框架,它的作用是快速对项目进行初始化。 开发脚手架的基本思路 开发脚手架的思路很简单。 第一:先写好项目的模板,放到远程git仓库上。 第二:通过命令行执行初始化项目命令。 开发脚手架需要了解哪些npm包 chalk 命令行着色工具 huskey git提交检测工具 int-staged 代码格式化。这个通常跟huskey配合使用。 开发脚手架需要了解哪些node模块儿 如果真的要自己开发一套脚手架,那么对于node的一些常用模块儿也必须非常熟悉。 在开发脚手架之前我们需要对具体的业务非常熟悉,知道每个细节。 如果自己的技术积累足够的话,开发脚手架是没有问题的。 javascript基础知识总结

    66720编辑于 2022-07-14
  • 来自专栏前端小兵成长营

    H5 基础脚手架:极速构建项目

    前言 构建篇的 h5 项目构建配置,没有阅读过前文的读者拉到下方系列目录即可预览全系列 虽然 webpack 的优化配置博文烂大街了,还是稍微提一下,补充在完全体的系列里面 Webpack 辅助分析插件 new TerserPlugin({ terserOptions: { parse: { ecma: 8, }, compress: { ecma: 5, common: { chunks: 'initial', // all、async、initial,默认async minChunks: 5, DevOps - Gitlab CI 流水线构建 DevOps - Docker 使用 DevOps - 发布任务流程设计 DevOps - 代码审查卡点 DevOps - Node 服务质量监控 前端模块 DevOps - H5 基础脚手架 DevOps - React 项目开发 后期可能会根据 DevOps 项目的实际开发进度对上述系列进行调整 尾声 此项目是从零开发,后续此系列博客会根据实际开发进度推出

    1.2K30发布于 2020-10-23
  • 来自专栏柒八九技术收纳盒

    Rust 赋能前端-开发一款属于你的前端脚手架

    所以,有一个一键创建项目,并且能够拥有上面所有特性的脚手架能够省去多少时间。 这也是,我们写这篇文章的初衷,通过学习这篇文章,我们能够快速构建一个功能完备的前端项目。 ❞ 何为脚手架 关于脚手架,我们在前端工程化之概念介绍中有过解释,我们就拿来主义了。 ❝脚手架作为一种创建项目「初始文件」的工具被广泛地应用于「新项目」或者「迭代初始阶段」 ❞ 使用工具替代人工操作能够避免人为失误引起的低级错误,同时结合整体前端工程化方案,快速生成功能「模块配置」、「自动安装依赖 「功能和本质」 功能是「创建项目初始文件」 本质是「方案的封装」 ❞ 之前,我们在前端工程化之概念介绍中写过基于create-react-app的脚手架方案,如果有小伙伴的公司还是用CRA进行项目初始化 5. content/* 用erd -y inverted来查看对应的目录信息如下: mod.rs mod.rs等同于我们前端开发中的每个文件夹下的index.js。

    1.1K20编辑于 2024-01-11
  • 来自专栏路过君BLOG from CSDN

    vue2笔记5 脚手架

    /src/components 查看隐藏的webpack配置文件 vue inspect > output.js 自定义配置文件 根目录创建vue.config.js 脚手架配置文档 module.exports

    37930编辑于 2022-04-13
  • 来自专栏前端小兵成长营

    从 0 到 1 的项目管理系统:脚手架篇 - H5 基础脚手架

    前言 H5 基础脚手架:极速构建项目 上一篇讲到了快速构建项目的通用 webpack 构建,此篇将结合业务修改 H5脚手架 小声 BB,不是一定适合你的项目,具体项目具体对待,符合自身业务的才是最好的 /${version}`, } 如上,我们先将分支版本号获取,再修改资源引用路径,即可完成资源版本的处理,如下图所示,h5 链接被修改成常规 url,引用资源带上了版本号 ? 流水线构建 DevOps - Jenkins 流水线构建 DevOps - Docker 使用 DevOps - 发布任务流程设计 DevOps - 代码审查卡点 DevOps - Node 服务质量监控 前端模块 DevOps - H5 基础脚手架 DevOps - React 项目开发 尾声 此项目是从零开发,后续此系列博客会根据实际开发进度推出(真 TMD 累),项目完成之后,会开放部分源码供各位同学参考。

    88320发布于 2020-10-23
  • 来自专栏高端IT

    安装使用前端脚手架之前你可能遇到的问题

    使用脚手架创建项目时速度特别慢如果使用npm安装脚手架的话,推荐使用淘宝镜像,下面就是安装命令,在命令行键入命令即可。

    31030编辑于 2022-06-22
  • 来自专栏前端Q

    手把手教你写一个前端脚手架

    不过再讲这强大的功能之前,原谅我先水一篇脚手架的基础。 脚手架会分两篇来讲,本篇为基础篇,讲一讲最简单的脚手架如何搭建,入个门。 而这时候,你就需要一个脚手架脚手架是什么,他就是一个纯净的项目,可以完全不包含业务代码,每次开始新项目之前,跑一下脚手架的命令,那么一个纯净的项目就初始化出来了,可以直接在这之上进行开发。 inquirer[5] 在shell命令行中提供交互的库,具体效果看下文的演示。 ora[6] 在shell命令行中展示loading效果 download-git-repo[7] 下载git仓库。 这里就要聊聊脚手架的本质了,脚手架的本质无非就是我们先在一个仓库里写好一个模板项目,然后脚手架每次运行的时候都把这个模板项目拉到目标项目中,脚手架不过是省去了我们拉代码,初始化项目的操作而已。 增加完这段逻辑之后,我们这个脚手架的完整流程如下: image.png 结尾 本文是脚手架搭建的一个入门,这个脚手架只拥有最简单的功能,而下一篇脚手架的搭建将会是复杂版的,拥有者插件机制,能通过配置插件动态生成项目

    78130编辑于 2024-07-11
  • 来自专栏前端开疆扩土之路

    如何开发一个极简的前端脚手架

    背景 虎妞同学,在工作中,遇到了重构旧运营系统的技术需求,旧系统都是前后端不分离的项目 因此对于前端需要一套整体的后台管理框架。 此处使用fs.existsSync 方法判断 4.判断指令中是否使用了-f 参数 如果使用-f 或者--force 则直接删除重命目录 若没有使用强制覆盖命令,则继续执行第5条,走下一步判断 此处使用fs.remove 实现 5.询问当前用户是否要覆盖当前目录 若覆盖,则删除原有重名目录后,执行第6步。 ,其实发现开发一个脚手架很简单,都是调用的三方库,难点在于怎么接入公司业务。 有脚手架的前提是有一个统一的项目模版。

    64220编辑于 2023-10-16
领券