跳到内容

插件

尽管 electron-webpack 作为一个单独的模块提供,您也可以安装插件。 插件的目的是为了帮助设置某些可能需要大量额外配置或依赖的框架,例如 TypeScript 或 Vue.js。

这些插件是完全可选的,可能不支持所有使用场景。 如果您需要更自定义的功能,请知悉 webpack 的完整文档仍然适用于 electron-webpack更多信息)。

当前插件


JavaScript 框架

Vue.js

通过使用 vue-loader 添加对 Vue 组件文件的支持。 此外,为了开发目的,还将安装 vue-devtools

yarn add vue electron-webpack-vue --dev

添加 TypeScript 支持

安装 TypeScript 插件,然后添加以下文件来填充 Vue 组件文件。

declare module '*.vue' {
  import Vue from 'vue'
  export default Vue
}

当然,请确保让 vue-loader 知道您想在组件文件中使用 TypeScript,方法是使用 lang="ts" 属性。

<template></template>

<script lang="ts">
  /* your TypeScript code */
</script>

<style></style>

添加 ESLint 支持

安装 ESLint 插件,安装 eslint-plugin-html,并添加以下额外的配置。

安装 html 插件以 lint Vue 组件文件

yarn add eslint-plugin-html --dev

module.exports = {
  plugins: [
    'html'
  ]
}

React JSX

添加对编译 JSX 文件的支持

yarn add @babel/preset-react --dev

为 JSX (.tsx 文件) 添加 TypeScript 支持

安装 TypeScript 插件,然后扩展您的 tsconfig.json 以包含如下所示的 jsx 编译器选项

{
    "extends": "./node_modules/electron-webpack/tsconfig-base.json",
    "compilerOptions": {
        "jsx": "react"
    }
}

预处理器

Babel

@babel/preset-env 会根据您的 electron 版本自动配置。

所有直接的开发依赖项 babel-preset-*babel-plugin-* 也会自动配置。

ESLint

添加使用 eslint 进行脚本文件 linting 的支持。 内部使用 eslinteslint-loadereslint-friendly-formatter,并在需要时提供 babel-eslint

yarn add electron-webpack-eslint --dev

在根目录中创建 .eslintrc.js

module.exports = {
  /* your base configuration of choice */
  extends: 'eslint:recommended',

  parser: 'babel-eslint',
  parserOptions: {
    sourceType: 'module'
  },
  env: {
    browser: true,
    node: true
  },
  globals: {
    __static: true
  }
}

TypeScript

添加对编译 TypeScript 脚本文件的支持。 内部同时使用 ts-loaderfork-ts-checker-webpack-plugin 来编译 *.ts。 请注意,入口文件也可以使用 *.ts 扩展名。

yarn add typescript electron-webpack-ts --dev

在根目录中创建 tsconfig.json

{
  "extends": "./node_modules/electron-webpack/tsconfig-base.json"
}

Less

添加对编译 Less 样式文件的支持。

yarn add less less-loader --dev

Sass/SCSS

添加对编译 Sass/SCSS 样式文件的支持。

yarn add node-sass sass-loader --dev

EJS

添加对编译 EJS 模板文件的支持。

yarn add ejs ejs-html-loader --dev

Nunjucks

添加对编译 Nunjucks 模板文件的支持

yarn add nunjucks nunjucks-loader --dev

UI 库

iView

一旦您安装了 Vue.js 插件,electron-webpack 将在内部支持 iView 的 “按需导入” 功能。 无需进一步设置。

Element

一旦您安装了 element-uielectron-webpack 将在内部支持 Element 的 “按需导入” 功能。 无需进一步设置。


杂项

构建通知

在开发期间从 webpack 提供操作系统级别的通知。

yarn add webpack-build-notifier --dev