New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

vite-node-addon-loader

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vite-node-addon-loader

A Vite plugin for loading and bundling Node.js native addon (.node) files

latest
npmnpm
Version
1.0.0
Version published
Maintainers
0
Created
Source

Vite Node Addon Loader

一个Vite插件,用于处理和打包Node.js原生扩展(.node)文件。

功能特性

  • ✅ 自动识别和处理 .node 文件
  • ✅ 为每个.node文件生成带hash的文件名
  • ✅ 自动生成使用 createRequire 的加载代码
  • ✅ 将.node文件复制到构建输出目录
  • ✅ 支持自定义配置

安装

npm install --save-dev vite-node-addon-loader

使用方法

1. 在vite.config.js中配置插件

import { defineConfig } from 'vite';
import nodeAddonLoader from 'vite-node-addon-loader';

export default defineConfig({
  plugins: [
    nodeAddonLoader({
      include: /\.node$/,      // 匹配.node文件的正则表达式
      hashLength: 8           // hash长度
    })
  ]
});

2. 在代码中导入.node文件

// 直接导入.node文件
import myAddon from './path/to/your/addon.node';

// 使用导入的addon
console.log(myAddon);

3. 构建项目

npm run build

构建后,插件会:

  • your/addon.node 复制到 dist/your/addon.[hash].node
  • 自动生成使用 createRequire 加载的代码

配置选项

选项类型默认值描述
includeRegExp/\.node$/匹配.node文件的正则表达式
outputDirstring'dist'输出目录
hashLengthnumber8生成的hash长度

示例

项目目录结构:

project/
├── src/
│   └── index.js
├── native/
│   └── addon.node
├── vite.config.js
└── package.json

src/index.js:

import addon from '../native/addon.node';

console.log('Addon loaded:', addon);

构建后:

dist/
├── index.js
├── native/
│   └── addon.a1b2c3d4.node  // 带hash的文件名
└── ...

注意事项

  • 确保.node文件存在且可访问
  • 插件会在构建时复制.node文件,开发模式下不会复制
  • 生成的hash基于文件内容,确保文件内容变化时hash也会变化

Keywords

vite

FAQs

Package last updated on 28 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts