yargs

使用 Node.js 开发一个客户端小工具

試著忘記壹切 提交于 2021-02-15 00:01:22
最近山月开发了一个从任意 URL 解析内容并生成 markdown 的小客户端工具: markdown-read。用以我个人公众号的内容获取及一些优质内容的整理收藏,欢迎 Star、下载及使用。 $ markdown https://juejin.cn/post/6924258563862822919 | head -10 > 本文作者:Wind、Skyler、ZRJ、ZJ ## 前言 Webpack5 在 2020 年 10 月 10 日正式发布,并且在过去的几个月中快速演进和迭代,截止 1 月 28 日,Webpack5 已经更新了 18 个 minor 版本,带来了许多十分吸引人的新特性。据[官网介绍](https://webpack.js.org/blog/2020-10-10-webpack-5-release/ #general-direction "官网介绍"),Webpack5 整体的方向性变化有以下几点: ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/77ee2267bfa34ef5bf7bb29553a5035c~tplv-k3u1fbpfcp-zoom-1.image) + 通过持久化硬盘缓存能力来提升构建性能 + 通过更好的算法来改进长期缓存(降低产物资源的缓存失效率) 想到用 Node

vue中使用vue-amap(高德地图)

时光怂恿深爱的人放手 提交于 2020-08-10 04:51:36
因为项目要求调用高德地图,就按照官方文档按部就班的捣鼓,这一路上出了不少问题。 前言: vue-cli,node环境什么的自己安装设置推荐一个博客:https://blog.csdn.net/wulala_hei/article/details/80488674 1,找一个磁盘,在里面git bash here 然后vue init webpack XXX(文件夹名字) 你 第一步:在test里面安装install 指令:1.npm install 2.npm install vue-amap --save 注意:我在安装的时候总是出现了说找不到webpack的问题, 即:使用 npm run dev 时报错: Error: Cannot find module 'webpack-cli/bin/config-yargs' 可是我用webpack-v找到了版本号,我就删了又装了两三次,还是不行,最后我在安装的过程中没有让其修复,语句不记得了,就是安装过程中出现警告让你输入修复的,然后就成功了。 第二步:在main.js中加入 解释一下,key就是你申请的key,一串数字和字母 plugin是你在地图上用的组件 例: "AMap.Autocomplete", //输入提示插件 "AMap.PlaceSearch", //POI搜索插件 "AMap.Scale", //右下角缩略图插件

[Node.js] 02

时间秒杀一切 提交于 2020-05-05 23:28:11
视频课程: 带你入门Nodejs,提及了非常多的后端知识点 发布时间: 2017年10月7日 课程时长:193 分钟 类别:后端 课时:22 npm Resource: npm模块管理器 【阮一峰】 npm.com 【官网】 从这里开始: Node.js 命令行程序开发教程 命令行交互任务 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。 执行 - 执行输入的数据结构 打印 - 输出结果 循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。 加入环境变量 $ ./hello hello world //更为简单的执行 $ hello hello world 执行步骤: Step 1, 在当前目录下新建 package.json { "name": "hello" , "bin" : { "hello": "hello" } } Step 2, run this. $ npm link 命令行参数 process.argv[...] 获取参数。 #!/usr/bin/env node console.log('hello ', process.argv[2]); 新建进程 child_process模块 :node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node

从 vue-cli 到 webpack多入口打包(二)

隐身守侯 提交于 2020-05-05 23:22:22
完成多入口打包配置 上一节我说完了三个关键的plugin,通过三个plugin我们可以做到将代码进行分割,并且将分割的代码打包到我们指定的路径下,完成打包的模块可以被index.html文件正确引用。这里我们需要贯穿整个流程。 1、yargs yargs 是一个非常强大的命令行参数处理工具,这里我们用到的功能比较简单,只需要获取从命令行传入的modules数组,这个数组表示所需打包的入口chunk。在vue-cli的默认安装包中并没有安装yargs这个模块,所以我们需要首先安装yargs模块。 // 通过npm安装yargs npm install yargs -D 完成安装后,我们就能使用yargs进行命令行参数的获取,然后通过获取到的数组,按需打包我们需要的入口模块。例如:我们src下面有三个入口,分别为 moduleA 、 moduleB 、 moduleC ,但是本次我们发现 moduleC 的代码没有发生变动,我们只需要在打包时传入 moduleA 、 moduleB 这两个参数就能做到。首先我们需要将参数从命令行传入到我们的运行脚本中。 2、命令行传入参数 2.1 scripts 的命令行参数 我们打包时运行的命令是 npm run build ,实际上我们执行的是package.json中的scripts中的脚本配置,vue-cli中默认的build配置是

Argument escaping not interpreted correctly when running node.js script from Windows PowerShell

对着背影说爱祢 提交于 2020-03-15 05:50:49
问题 Given the following script: const yargs = require('yargs'); const argv = yargs .usage('Usage: $0 [--whatIf]') .alias('d', 'directory') .alias('wi', 'whatIf') .nargs('d', 1) .describe('d', 'alphabetize this directory') .describe('whatIf', 'show what would happen if run') .demandOption(['d']) .argv; console.log(argv.directory); If I invoke the script from Windows PowerShell like so: node .\alphabetizer.js -d 'l:\my folder\Files - Some Files In Here\' --whatIf I get the output l:\my folder\Files

yargs takes only the first word of commandline input string

眉间皱痕 提交于 2020-01-05 08:59:06
问题 I am working on a node.js commandline weather app from a tutorial, i realized that when I enter a string as input, only the first word is taken, the string is split into an array of words and only the first word is returned app.js const yargs = require('yargs'); const geocode = require('./geocode/geocode.js'); const argv = yargs .options({ a: { demand: true,//this argument is require alias: 'address', describe: 'Address to fetch weather for', string: true//always parse the address argument as

Pass arguments to packaged electron application

╄→гoц情女王★ 提交于 2019-12-20 01:33:36
问题 We're using electron-packager to bundle up and distribute the front-end of our web application. We need to be able to pass in the host and port of the server to the electron front-end for connecting. When we launch via electron main.js --host blah --port 8080 it works. Once it's packaged, we run via ./MyApp --host blah --port 8080 and it doesn't work. This is bad because we don't want customers to need to install electron/npm itself. Also worth noting is that this happens whether we package

Pass arguments to packaged electron application

南笙酒味 提交于 2019-12-01 19:57:49
We're using electron-packager to bundle up and distribute the front-end of our web application. We need to be able to pass in the host and port of the server to the electron front-end for connecting. When we launch via electron main.js --host blah --port 8080 it works. Once it's packaged, we run via ./MyApp --host blah --port 8080 and it doesn't work. This is bad because we don't want customers to need to install electron/npm itself. Also worth noting is that this happens whether we package the app in an asar archive or not. Any ideas on things we could try, or if we're trying to go about this