webpack插件

webpack 中的插件

通过安装和配置第三方插件,可以扩展webpack的能力,从而让webpack用起来更加方便

  • webpack-dev-server
    • 类似于node.js阶段用到的nodemon工具
    • 每当修改了源代码,webpack会自动进行项目的打包和构建
  • html-webpack-plugin
    • webpack中的HTML插件(类似于一个模板引擎)
    • 可以通过此插件自定义index.html页面内容

webpack-dev-server

它会启动一个实时打包的http服务器 ,当代码修改时会自动重新打包构建

修改package.json文件中的srcipt节点,

"scripts":{
	"dev":"webpack serve "
}
//之后直接运行npm run dev 来重新进行项目的打包处理

打包配置文件的去向

  • 不配置webpack-dev-server的情况下,webpack打包生成的文件会存放在实际的物理磁盘中
    • 严格遵守开发者在webpack.config.js中指定配置
    • 根据output节点指定路径进行存放
  • 配置了webpack-dev-server之后,打包生成的文件放在了内存中(默认放在了项目根目录中,虚拟、不可见 导入时 路径是/bundle.js)
    • 不在根据output节点指定的路径,
    • 提高了实时打包输出的性能&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写 Webpack 插件的步骤如下: 1. 创建一个 Node.js 模块,其中包含一个插件类。这个插件类需要实现 `apply` 方法,该方法会在 Webpack 打包过程中被调用。 2. 在 `apply` 方法中注册一个或多个 Webpack 生命周期钩子。Webpack 生命周期钩子是 Webpack 打包过程中的不同阶段,其中包括 `compilation`、`emit`、`done` 等。 3. 在钩子中编写插件的逻辑。例如,在 `compilation` 钩子中可以访问 Webpack 的编译对象和编译器,可以修改编译对象和编译器的行为。 4. 在插件类中定义一个可选的选项对象,用于配置插件的行为。这些选项可以通过 Webpack 配置文件中的插件选项进行传递。 下面是一个简单的 Webpack 插件的示例代码: ```javascript class HelloWorldPlugin { constructor(options) { this.options = options; } apply(compiler) { compiler.hooks.done.tap('HelloWorldPlugin', () => { console.log(`Hello, ${this.options.name}!`); }); } } module.exports = HelloWorldPlugin; ``` 在这个示例中,我们定义了一个 `HelloWorldPlugin` 类,它接受一个选项对象作为参数。在插件的 `apply` 方法中,我们注册了 `done` 钩子,并在钩子中输出一条简单的消息。 要使用这个插件,我们可以在 Webpack 配置文件中进行如下配置: ```javascript const HelloWorldPlugin = require('./HelloWorldPlugin'); module.exports = { // ... plugins: [ new HelloWorldPlugin({ name: 'World' }) ] }; ``` 在这个配置中,我们将 `HelloWorldPlugin` 插件实例传递给了 Webpack 的 `plugins` 选项。在运行 Webpack 时,插件会在 `done` 钩子中输出一条消息,例如: ``` Hello, World! ``` 除了 `done` 钩子,Webpack 还提供了很多其他的钩子,可以用于在不同的打包阶段进行操作。通过注册这些钩子,我们可以编写各种不同的 Webpack 插件,以满足不同的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值