首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏『学习与分享之旅』

    『手撕Vue-CLI』自动安装依赖

    我查阅了很多资料,最终找到了一个解决方案,那就是使用 shelljs 库。所以先来给大家简单介绍一下 shelljsshelljs 的主要特点如下:轻量级:shelljs 是一个轻量级的模块,可以在 Node.js 环境中运行。 安装方便:shelljs 可以通过 npm 安装,非常方便。使用方便:shelljs 提供了一组简单的 API,可以方便地执行 shell 命令。 安装 shelljs首先,我们需要安装 shelljs,可以通过 npm 安装:npm install shelljs安装完成后,我们就可以在项目中使用 shelljs 了。 使用 shelljs在项目中使用 shelljs 非常简单,只需要引入 shelljs 模块,然后调用相应的 API 即可。

    24000编辑于 2024-05-16
  • 来自专栏零域Blog

    自动备份Hexo博客源文件

    如果你不知道该怎样进行操作,可以参考我的另一篇博文: Git命令手动备份Hexo博客源文件 2.安装shelljs模块 要实现这个自动备份功能,需要依赖NodeJs的一个shelljs模块,该模块重新包装了 在命令中键入以下命令,完成shelljs模块的安装: npm install --save shelljs 3.编写自动备份脚本 shelljs模块安装完成后,在Hexo根目录的scripts文件夹下新建一个 然后在脚本中,写入以下内容: require('shelljs/global'); try { hexo.on('deployAfter', function() {//当deploy完成后执行备份

    74130编辑于 2022-03-27
  • 来自专栏阮一峰的网络日志

    Node.js 命令行程序开发教程

    /hello tom hello tom 四、shelljs 模块 shelljs 模块重新包装了 child_process,调用系统命令更加方便。它需要安装后使用。 npm install --save shelljs 然后,改写脚本。 #! /usr/bin/env node var name = process.argv[2]; var shell = require("shelljs"); shell.exec("echo hello " + name); 上面代码是 shelljs 的本地模式,即通过 exec 方法执行 shell 命令。 require('shelljs/global'); if (!

    1.5K60发布于 2018-04-12
  • 来自专栏日常记录

    vue cli3 开发环境与生产环境配置(一)

    .env.development 开发环境变量 .env.production 生产环境变量 - 在其中我们写一个用于判断的变量 VUE_APP_NODESHL=DEV 三、 安装 shelljs 用来通过js操作文件 - npm i shelljs -D //安装到开发环境中等同于 npm install shelljs --save-dev - 新增config.js //代码如下 var shell = require('shelljs') console.log("environment variables is", process.env.VUE_APP_NODESHL) /views/${file}` ) export default _import ps: 分别在开发与生产两个环境中给出了不同的文件引入方式 通过shelljs copy 到 router

    6K30发布于 2019-04-22
  • 来自专栏日常记录

    如何在vue项目中配置你自己的启动命令和打包命令

    准备 首先除vue项目外 我们还需要安装几个额外的包来帮助我们 这只是在 vue-cli2 中的配置 当然 vue-cli3 也可以通过如下方法来配置一些环境 npm i cross-env shelljs -D cross-env 可以帮助我们更好的来使用更好的来使用 process.env 里的指令,并且各个环境唯一化 shelljs 可以让我们用js在操作 shell 命令 首先建一个 shell 操作的文件 如config.url.js 目的帮助我们将不同环境目录 copy 到同一个文件中 var shell = require('shelljs'); console.log("ENVIRONMENT

    4.2K20发布于 2019-04-01
  • 来自专栏大史住在大前端

    一统江湖的大前端(4)shell.js——穿上马甲我照样认识你

    一.Shell && Shelljs 码农界存在着无数条鄙视链,linux使用者对windows的鄙视便是其中之一,cli使用者对GUI用户的嘲讽也是如此,在这样一个讲究逼格的时代,如果你的桌面上没有一个小黑窗时不时地从下往上翻滚并抛出一些亮绿色的字符串 Shelljs就是基于node的一层命令封装插件,让前端开发者可以不依赖linux也不依赖类似于cmder的转换工具,而是直接在我们最熟悉不过的javascript代码中编写shell命令实现功能。 二.前端开发人员学Shelljs干嘛 shell跟自动化是强相关的,个人理解其用途主要是两方面: 1.从业务逻辑的需求来看,shelljs并不是什么具有非凡意义的插件,它只是对node的底层API进行了一些封装 ,方便我们以类似shell的语法去编写代码梳理逻辑,实现一些业务逻辑需求,如果你所在的项目组恰好需要这样的能力,用它会很方便; 2.cli相对于GUI或许是更快,但它依然是一种重复劳作,有了shelljs //引入shelljs var shell = require('shelljs') //检查控制台是否以运行`git `开头的命令 if (!

    1.5K50发布于 2018-10-09
  • 来自专栏京程一灯

    一些小众却有用的 Node.js 包

    shelljs是一个能够让你在任何系统上使用通用的Unix命令的包,不管是 Windows、Linux 还是 Mac。 shelljs 提供了类似 Unix 的环境,如果你需要编写脚本来运行测试、提交代码或在服务器上启动,则只需编写一次即可。 可以用命令执行类似操作: require('shelljs/global'); ls('*.js').forEach(function(file) { sed('-i', 'BUILD_VERSION *\n/, cat('macro.js'), file); }); 执行常见命令: require('shelljs/global'); mkdir('-p', 'release/data'); cp ('-R', 'data/*', 'release/data'); 检查可用的二进制文件: require('shelljs/global'); if (!

    1.1K10发布于 2020-10-22
  • 来自专栏Web 技术

    开放原子训练营(第一季)铜锁探密:基于铜锁,在前端对登录密码进行加密,实现隐私数据保密性

    要在前端中执行 shell 语句,一般通过第三方依赖包执行更方便,这里推荐使用 shelljs。 文件夹中,通过 vim 命令创建并编辑 index.js 文件: vim index.js 此时会在命令行中打开 index.js,然后我们输入如下内容: 上述代码中,可以看到,我们使用 shelljs 因为我们还没有安装 shelljs 依赖库。 因此,在 webapp 文件夹下执行如下命令安装 shelljs: // 初始化 package.json 文件 npm init -y // 安装 shelljs npm install shelljs

    71420编辑于 2023-10-07
  • 来自专栏一个爱瞎折腾的程序猿

    vue 实践记录

    引入 shelljs库 require('shelljs/global') 使用示例:cp('-R', 'favicon.ico', config.build.assetsRoot) 不同环境使用不同模式加载路由

    60210发布于 2018-09-14
  • 来自专栏IT大咖说

    nodejs写bash脚本终极方案!

    ◆ node执行bash脚本: 进阶方案 shelljs const shell = require('shelljs'); # 删除文件命令 shell.rm('-rf', 'out/Release 在同步模式下,这将返回一个 ShellString #(与 ShellJS v0.6.x 兼容,它返回一个形式为 { code:..., stdout:..., stderr:... } 的对象)。 == 0) { shell.echo('Error: Git commit failed'); shell.exit(1); } 从上面代码上看来,shelljs真的已经算是非常棒的nodejs 写bash脚本的方案了,如果你们那边的node环境不能随便升级,我觉得shelljs确实够用了。

    4.5K20发布于 2021-07-19
  • 来自专栏前端杂货铺

    node中子进程同步输出

    文件检测 在某些系统的node环境下,“child_process”并未提供execSync特性,因此需要hack,这里参考shelljs的实现机制。 由于在shell命令执行过程中需要模拟同步效果,因此在循环中不仅仅获取新写入的数据,同时需要模拟I/O阻塞操作,此处shelljs的作者通过尝试所有的同步IO API,发现fs.writeFileSync

    1.5K60发布于 2018-03-15
  • 来自专栏ionic3+

    自建node的简单cli——san-cli

    node const clone = require('git-clone') const program = require('commander') const shell = require('shelljs 拉取不同多脚手架模版,可以观察到require到依赖模块,所以npm里添加依赖配置,执行命令: npm i commander --save npm i git-clone --save npm i shelljs package.json,可以发现里面多了如下内容: "dependencies": { "commander": "^2.12.2", "git-clone": "^0.1.0", "shelljs

    1.1K20发布于 2018-08-20
  • 来自专栏码客

    NodeJS运行Shell的方式及搭建运维平台

    shelljs(三方) shelljs是j基于nodeAPI的一个扩展,要引入插件:(npm地址); 它比原生的child_process的兼容性更好,使用更灵活,这个插件的使用率很高。 安装 npm install shelljs 和child_process同样的调用方式 var shell = require('shelljs'); var version = shell.exec var shell = require('shelljs'); // cat 返回文件内容 const mdres = shell.cat(' * .md') // pwd 获取当前目录 const shell.cp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above 官方示例 var shell = require('shelljs args }, e); throw e; } } gitinit(); 总结 这里总结了几种基于node的方式: child_process 原生nodeAPI,需根据需要选型 shelljs

    10K30发布于 2021-04-13
  • 来自专栏leon的专栏

    node命令行工具之实现项目工程自动初始化的标准流程

    3.4 文件操作 文件操作,有业界成熟的shelljs。 利用shelljs,可以在项目中简化以下步骤: 一些项目文件,不需要修改,只用直接copy。 可以使用shelljs.copySync同步方式生成。 一些文件夹,需要提前构建,可以使用shelljs.mkdir进行创建 四、实现 以下按我做的开源项目——npm-package-cli的创作过程进行分拆、讲解。 文件操作,要用到工具shelljs。 fs-extra": "^8.1.0", "inquirer": "^6.5.0", "mem-fs": "^1.1.3", "mem-fs-editor": "^6.0.0", "shelljs

    95420发布于 2019-08-28
  • 来自专栏南山种子外卖跑手的专栏

    靓仔快来!!用typescript带你搭建一个自己的脚手架

    curd fs-extra:fs升级版,提供更便利的API和编码方式 inquirer:命令行输入交互,提供多种问答方式 module-alias:nodejs别名路径转换器 ora:loading效果 shelljs shelljs shelljs是nodejs下的脚本语言解析器,具有丰富且强大的底层操作(Windows/Linux/OS X)权限。 本项目中shelljs主要作用是clone git仓库等。 关于这个灵魂拷问,笔者的想法是:api一般配套系列的鉴权流程,假如是一个public的仓库其实没必要做那么多额外的安全操作;其次项目也是想尽量减少三方制约的规则,方便以后作为一个纯净版项目移植到其他地方,可以到shelljs 创建流程在src/tools/cliCreator/lib/creator.ts路径里,完整代码: import { prompt } from 'inquirer'; import shell from 'shelljs

    1.9K10编辑于 2022-06-12
  • 来自专栏南山种子外卖跑手的专栏

    yyds,这可能是你第一个自定义的脚手架

    curd fs-extra:fs升级版,提供更便利的API和编码方式 inquirer:命令行输入交互,提供多种问答方式 module-alias:nodejs别名路径转换器 ora:loading效果 shelljs Promise.reject(err); } }; loadingDemo<string>('我要loading 1秒').then(res => console.log(res)); 效果 shelljs shelljs是nodejs下的脚本语言解析器,具有丰富且强大的底层操作(Windows/Linux/OS X)权限。 本项目中shelljs主要作用是clone git仓库等。可能大家会有疑问,为什么对仓库的操作不用rest api? 关于这个灵魂拷问,笔者的想法是:api一般配套系列的鉴权流程,假如是一个public的仓库其实没必要做那么多额外的安全操作;其次项目也是想尽量减少三方制约的规则,方便以后作为一个纯净版项目移植到其他地方,可以到shelljs

    1.5K20编辑于 2022-09-09
  • 来自专栏一个爱瞎折腾的程序猿

    nodejs常用代码片段

    自动创建目录(多级) 相比起使用递归创建,调用 sheljsl 模块简单得多 const shell = require('shelljs') const fs = require('fs') if require('fs').existsSync(dir)) { require('shelljs').mkdir('-p', dir) } require('fs').writeFileSync

    1.1K20发布于 2018-09-14
  • 来自专栏小鑫同学编程历险记

    CLI新功能之多项目启动器

    项目启动配置文件路径与待启动项目同级; 多个待启动项目路径同级存放; 待启动项目的执行脚本命名均使用“start”; 数据转换流程: 引用类库: 类库名 功能 chalk 美化日志输出 inquirer 收集用户输出信息 shelljs 需要启动的项目', choices }]).then((answers) => { // TODO 拿到选中的选项后异步执行启动各项目的脚本 }); 启动项目脚本的执行可以使用 shelljs

    50230编辑于 2022-12-26
  • 来自专栏huofo's blog

    手把手教你使用Rollup打包并发布自己的工具库

    = require('shelljs'); 3 const program = require('commander'); 4 5 const targetFile = path.resolve ('-i', '"name": "ktools"', '"name": "@kagol/ktools"', targetFile); // 修改包名 28 shelljs.sed('-i', `"version ": "${currentVersion}"`, `"version": "${newVersion}"`, targetFile); // 修改版本号 29 shelljs.cd('dist'); 30 shelljs.exec('npm publish'); // 发布 31 } 32 33 publish(); 这里最核心的两步: 修改包名 获取正确的版本号并修改 其中修改文件使用shelljs 需要提前安装这两个依赖库: 1 npm i -D shelljs commander 另外需要在package.json中增加构建的脚本命令: 1 "build": "rollup -c && npm

    3.2K40编辑于 2022-03-17
  • 来自专栏JavaScript高级程序设计

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

    如果我们开发的东西比较复杂,比如需要同时管理多个包,则需要整个工具 shelljs nodejs 执行shell命令工具。 shelljs是阿里的一个人(花名huofeng)自己开发的,用在dawn这个框架中。同样功能的包有commander,cmdline,或者使用nodejs的内置exec功能。

    66220编辑于 2022-07-14
领券