前端构建/或者node开发时经常会遇到这个变量,但这个变量到底什么来历,能有什么影响呢,之前并没有系统了解下,这里就整理mark下。

  1. NODE_ENV是个环境变量
  2. 安装NodeJS,或者Webpack并不会带来这个变量的设定,我们往往需要自己设定,在没有进行设定前,如果打印会发现是undefined
  3. 这个环境变量是Express带来的,当前算是个约定俗称的实践。
  4. NODE_ENV设定为development/production还是其它值有没有区别取决于所采用的工具是不是依赖该值,比如webpack中我们有时会根据NODE_ENV来选择性开启某些插件处理,比如哈希指纹生成等

项目中操作修改该值

如果是CI构建等,我们往往在docker容器级别就修改了该值。而本地,不同项目我们有时是需要灵活设定的,因此项目级控制比较好。

1
$ cross-env NODE_ENV=production node testaaa.js
阅读全文 »

一直没港/美卡,最近我司有团办,报名办理了下,手续繁琐复杂,避免遗忘,这里mark下。

阅读全文 »

最近调研区块链钱包插件的技术可行性,其中牵扯到grpc技术,官方repo有demo,但正常跑起有些门槛儿的,因此这里总结下。

安装

protobuf

1
2
3
4
5
# 推荐安装方式,这样不需要再编译及进行环境变量配置,https://formulae.brew.sh/formula/protobuf
$ brew install protobuf

# 验证安装成功
$ protoc --version
阅读全文 »

在docker部署前端静态资源时遇到如下信息
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I’ll try to do my best with it!

我的本地环境版本如下

  • node v14.17.0
  • npm v7.x

Google后找到了原因。npm版本不同,对应lock文件版本也不同,具体表现之一即lockfileVersion 字段值就不同。比如npm对于v6 lockfileVersion为1,而v7 lockfileVersion为2

阅读全文 »

最近2周时间从事小程序开发,其代码风格同样需要配套设置,而配置与一般Web开发还是有些许区别,这里Mark下。

配置文件所在位置

小程序项目默认如下,因此package.json/eslint等配置的根目录在miniprogram下,并非在项目根目录下。

eslint

阅读全文 »
0%