@bpnetguy/webpack-inject-plugin

中文文档
2.0.4发布于 2022/07/23MITTypeScriptCommonJS零依赖近 30 天下载 1.8万

一个网络包插件可以动态地将代码注入捆绑.

中文使用文档
文档目录6 节
  1. 使用量
  2. 选项
  3. 选项。 输入Name
  4. 选项。负载ID
  5. 额外使用大小写
  6. 贡献者

网络套接字插件

All Contributors CircleCI npm version npm XO code style codecov

一个网络包插件可以动态地将代码注入捆绑.

您可以查看一个实例 这里

使用量

# webpack.config.js

const InjectPlugin = require('webpack-inject-plugin').default;


module.exports = {
    // Other stuff in your webpack config

    plugins: [
        new InjectPlugin(function() {
            return "console.log('Hello World');"
        });
    ]
};

这个webpack插件接受一个单一的参数,这个函数返回代码以注入捆绑.

此功能与加载器的上下文相同, 所以所有 这里 适用.

您可以返回原始内容来装入, 或者 Promise 它决定了内容, 如果你想成为同步.

选项

您还可以通过更多选项 :

import InjectPlugin, { ENTRY_ORDER } from 'webpack-inject-plugin';

new InjectPlugin(loader, {
    entryName: 'entry name',         //  Limit the injected code to only the entry w/ this name
    entryOrder: ENTRY_ORDER.First    //  Make the injected code be the first entry point
                ENTRY_ORDER.Last     //  Make the injected code be the last entry point
                ENTRY_ORDER.NotLast  //  Make the injected code be second to last. (The last entry module is the API of the bundle. Useful when you don't want to override that.) This is the default.
});

选项。 输入Name

string | function

用于输入代码的过滤器 . 如果有的话 string,只使用同名条目. 如果有的话 function时,每个条目名都使用它 事实 回应

前辈.

new InjectPlugin(loader, {
  // This will inject code into every entry that's not named `foo`
  entryName: key => key !== 'foo'
});

选项。负载ID

string

注射式加载器的可选单相ID. 如果省略, 将自动为您生成一个 .

额外使用大小写

虽然这可以用作独立的插件,但您也可以使用它来创建其他的webpack插件,比如在配置文件的基础上将代码注入到构建中.

示例

import InjectPlugin from 'webpack-inject-plugin';

function customLoader(options) {
  return () => {
    return "console.log('My custom code generated from `options`');";
  };
}

export default class MyPlugin {
  constructor(options) {
    this.options = options;
  }

  apply(compiler) {
    new InjectPlugin(customLoader(this.options)).apply(compiler);
  }
}

贡献者

感谢这些伟大的人emoji 密钥:

Adam Dierkens
亚当·迪尔肯斯

💻
YellowKirby
黄克比

💻
Chvin
克温

💻

本项目遵循 全部贡献者 规格。 任何捐款都欢迎!

版本与发布记录

@bpnetguy/webpack-inject-plugin 共发布 5 个版本,首次发布于 2022/07/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.4latest2022/07/234 年前
2.0.32022/07/234 年前
2.0.22022/07/214 年前
2.0.12022/07/214 年前
2.0.02022/07/214 年前

关于 @bpnetguy/webpack-inject-plugin 的常见问题

@bpnetguy/webpack-inject-plugin 是什么?

一个网络包插件可以动态地将代码注入捆绑.

如何安装 @bpnetguy/webpack-inject-plugin?

在项目目录运行 npm install @bpnetguy/webpack-inject-plugin,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:webpack(>=5.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bpnetguy/webpack-inject-plugin 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bpnetguy/webpack-inject-plugin 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bpnetguy/webpack-inject-plugin 可以商用吗?

@bpnetguy/webpack-inject-plugin 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bpnetguy/webpack-inject-plugin 的下载量有多少?

根据 npm 官方下载统计,@bpnetguy/webpack-inject-plugin 在 2026/10/09 – 2026/11/07 这 30 天内被下载 18,249 次,日均约 608 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bpnetguy/webpack-inject-plugin 还在维护吗?

最新版本 2.0.4 发布于 2022/07/23(4 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/07/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。