记录 vite 使用 mammoth.js 的问题

问题描述,

  1. 开发环境viteutil的引入的错。因为mammoth 使用 require('util')
  2. 打包,报undefined的错。因为mammoth 使用require('stream')

配置

  1. package.sjon
   "mammoth": "^1.5.1",
   "vite": "^3.0.0",
  1. vite.config.ts
import rollupNodePolyFill from 'rollup-plugin-node-polyfills'
export default defineConfig(({ mode, command }) => {
  let aliasObj: AliasOptions = {}
  // 生成环境需要的node模块。直接写入开发环境的 mammoth.convertToHtml 有问题
  if (mode === 'production') {
    aliasObj = {
      events: 'rollup-plugin-node-polyfills/polyfills/events',
      process: 'rollup-plugin-node-polyfills/polyfills/process-es6.js',
      stream: 'rollup-plugin-node-polyfills/polyfills/stream',
    }
  }
  return {
    // ...
    resolve: {
      alias: {
        // 兼容包使用 node的模块
        util: 'rollup-plugin-node-polyfills/polyfills/util',
        ...aliasObj,
      },
    },
      rollupOptions: {
        plugins: [
          // Enable rollup polyfills plugin, used during production bundling
          rollupNodePolyFill(),
        ],
      },
    },
  }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容