webpack encore生产环境报Quill not found错误的解决方案
问题描述
基于Webpack Encore构建的项目,开发环境全功能运行正常,部署到生产环境运行时抛出Quill未找到的错误。已确认node_modules/quill目录下包文件完整,多次尝试重新安装Quill依赖均未解决问题。
复现示例代码
import * as Quill from 'Quill'; import 'quill/dist/quill.bubble.css'; var Delta = Quill.import('delta'); window.addEventListener('load', function () { const options = { theme: 'bubble', readOnly: true, } let quill, delta; // 其余业务逻辑 })
解决方案
替换原错误导入语句:
import * as Quill from 'Quill';
为正确的默认导入写法,同时统一包名为小写:
import Quill from 'quill';
出现该问题的核心原因是:开发环境下Webpack对模块路径大小写敏感度低,且对不同导入语法的兼容容错更高;生产环境构建阶段会执行代码压缩、Tree Shaking等优化,大小写错误的包路径加上错误的命名空间导入写法,会导致Quill模块没有被正确打包引入,最终触发运行时找不到变量的报错。
内容的提问来源于stack exchange,提问作者user17686240
相关产品推荐
相关产品推荐

