NoiiApple

欢迎来到我的blog,我的名字叫秦雷柱,当前坐标北京!

0%

执行 npm install 时终端提示 Cannot find module ‘../lib/utils/unsupported.js’ 错误,解决方案就是删除 /usr/local/lib/node_modules/npm 目录!

1
2
3
4
sudo rm -rf /usr/local/lib/node_modules/npm

brew reinstall node
nvm reinstall-packages #使用nvm管理Node的使用此命令

npm 是 JavaScript 世界的包管理工具,且是 Node.JS (npm 在 Node.JS 0.6 之后的版本,随着 Node.JS 一起发布)平台的默认包管理器,也是世界上最大的软件注册表,里面包含了 100w+ 个包,能够使您轻松跟踪依赖项和版本。

npm 由三部分组成:

  • 网站
  • CLI 命令行工具
  • registry 注册表

npm 网站也就是 npmjs.com 可以视为一个物流集散中心,该中心从开发者那里接收包,并将这些包分发给使用者。为了效率的提升,物流集散中心雇佣了很多 CLI,分配给每个用户作为私人助理,根据使用者 dependencies 的要求对快递进行管理。

阅读全文 »

Homebrew 是 Mac 上一款比较出色的软件包管理器,BSD 开源由 Max Howell 开发。类似 Linux 系统的 apt-get、yum。简单来说就是用来管理你软件的!

打开终端执行下述命令,安装Homebrew

1
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

概念词汇

  • formula 安装包的描述文件
  • cellar 程序安装所在的目录
  • keg 具体某个包所在的目录,cellar 下的子目录
  • bottle 预先编译好的包,不需要现场下载编译源码,速度会快很多;官方库中的包大多都是通过 bottle 方式安装
  • tag 下载源,可以类比于 Linux 下的包管理器 repository
  • cask 安装 macOS 应用的扩展,你也可以理解为有图形化界面的应用
  • bundle 描述 Homebrew 依赖的扩展
    阅读全文 »

获取 Github 当前账户的 ID,可使用官方给出的 API 是 https://api.github.com/users/github,把最后的 Github 换成你的用户名,直接在浏览器地址栏中输入回车即可获取,输出如下:

1
2
3
4
5
6
7
{
"login": "qLzhu",
"id": 1***59,
"node_id": "MDQX****DIzMzU5",
"gravatar_id": "",
...
}

webpack 是一个现代的 JavaScript 应用程序的静态模块打包工具。当它处理应用程序时,会根据入口(entry)配置在内部构建(构建依赖于 Node.js)一个依赖图,此依赖图会映射项目所需的每个模块,并生成一个或多个 bundle。v4.0.0 版本开始,可在不创建配置文件的情况下直接打包项目(不推荐)

  1. 支持的模块规范有:CommonJS、AMD、CMD、ES6
  2. 基础概念:

通过配置 Mode 不同的参数,开启不同的内置环境优化项目,其值有 development、production 和 none

1
mode: "development"

指示 webpack 应该使用哪个模块作为入口,来作为构建其内部依赖图

module.exports = {
entry: “./src/index.js”,
entry: {
a: “./src/js/a.js”,
b: [“./src/js/b_1.js”, “./src/js/b_2.js”]
},
};

告诉 webpack 把 bundle 输出到哪里,及其如何命名这些文件。主要文件默认输出为 ./dist/main.js,其它生成文件默认放置在 ./dist 文件夹中

1
2
3
4
5
6
7
module.exports = {
entry: "./src/index.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js"
}
};

webpack 默认只能处理 JavaScript 和 JSON 文件,loader 则赋予了 webpack 处理其它类型文件的能力,并转换为有效模块,以供应用程序使用,以及被添加到依赖图中

  • test 设置对应 loader 要处理的文件类型
  • use 设置要使用的 loader 名称
1
2
3
4
5
6
7
8
module.exports = {
module: {
rules: [{
test: /\.txt$/,
use: 'raw-loader'
}]
}
};

plugin 可以让 webpack 处理更为广泛的任务。使用某个 plugin 的话需要使用 require() 它,然后把它添加到 plugins 数组中,再使用 new 操作符来创建一个实例

1
2
3
4
5
6
7
8
9
10
11
12
13
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
module: {
rules: [{
test: /\.txt$/,
use: 'raw-loader'
}]
},
plugins: [
new HtmlWebpackPlugin({template: './src/index.html'})
]
};
阅读全文 »

微软2019年05月03日,在PyCon 2019大会上推出了三个非常实用的功能性插件。它们可以帮助开发者在容器、物理机器或虚拟机,以及Windows Subsystem for Linux (WSL)中实现无缝的远程开发

  • Remote-SSH:连接虚拟/实体Linux主机
  • Remote-Containers:连接开发容器(例如:Docker)
  • Remote-WSL:连接WSL(也就是Linux子系统)

所以推出这个三个插件的重点在于服务使用Windows系统但有Linux开发需求的用户群体

阅读全文 »