轶哥

📚 Having fun with AI Agent. Always learning.

    Node.js在VM环境使用ECMAScript modules
    •   更新:2021-03-04 15:28:35
    •   首发:2021-03-04 13:25:32
    •   Node.js
    •   3954

    vm模块允许在V8虚拟机上下文中编译和运行代码。但是不是安全机制,如果有沙箱(sandbox)需求,可以考虑https://github.com/patriksimek/vm2

    在VM环境中使用ECMAScript modules,即在VM环境中可以用import代替require引入某个模块,避免Cannot use import statement outside a module错误,也可以用export代替module.exports

    我的使用场景:

    通过Node.js在VM环境使用ECMAScript modules之目的,是为了构建一个虚拟环境(可控的上下文内容)动态执行一些代码,方便在复杂系统中构建小型脚本动态的快速验证一些想法。

    https://github.com/yi-ge/api-proxy这个小项目中也有用到vm模块。

    Node.js 获取项目根目录
    •   更新:2021-03-04 14:48:06
    •   首发:2016-05-06 15:22:23
    •   Node.js
    •   14325

    介绍一个非常实用的小技巧获取node.js项目根目录

    假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。

    获取node项目根目录

    在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。

    Json Schema定义“既可以是对象,又可以是数组”
    •   更新:2021-02-06 23:46:41
    •   首发:2021-02-06 23:45:04
    •   Node.js
    •   3499

    如果我想定义json的内容(root)既可以是一个对象,又可以是一个数组,应该如何书写json schema?

    这个问题换一种描述方式,“json schema定义了一个对象,但是希望内容也可以是这个对象的数组,如何书写json schema?”。

    例如,Typescript中:root: object | [object]

    例如,我希望数据可以是下面这样的一个对象:

    {
      "method": "GET"
    }
    

    也可以是这样的数组:

    [
      {
        "method": "GET"
      }
    ]
    
    NuxtJS中Axios的配置说明
    •   更新:2020-12-19 23:48:03
    •   首发:2020-12-19 23:48:03
    •   Node.js
    •   5611

    nuxt.js中使用axios,推荐使用nuxt定制款nuxt/axios(https://axios.nuxtjs.org/)。相比原生axios有如下优势:

    • 自动为客户端和服务器端设置baseURL
    • setToken函数暴露给$axios,可以非常容易的进行全局Authentication tokens设置
    • 基于baseURL发起请求时,自动启用withCredentials
    • 添加用于服务器端渲染的Proxy请求Header
    • 支持使用axios加载CSS
    • Nuxt进度条集成
    • Proxi模块集成
    • 使用axios-retry自动重试请求
    JavaScript 安全计算
    •   更新:2020-09-17 18:02:17
    •   首发:2020-08-07 19:26:16
    •   Node.js
    •   4307

    C/C++、Java、JavaScript等语言,都有计算不精准的问题。原因是这些语言在计算的时候遵循IEEE 二进制浮点数算术标准(IEEE 754),跟CPU浮点运算器有关系。

    Vue3.0 + Vite 绝佳的开发体验
    •   更新:2020-08-21 09:25:09
    •   首发:2020-08-20 18:52:31
    •   Node.js
    •   6830

    Vite是一个尤大开发的革命性的Web构建工具。

    Vite是基于浏览器原生ES Module imports的构建工具。很多场景下,Vite可以代替webpack,开发调试的速度有了非常大的提升。Vite支持对单个文件的热更新,调试一行代码等很久的情况或将成为历史。

    vite是法语中“ fast”的意思,其发音是/vit/

      上一页 下一页