javascript - 使用带有 Laravel Mix 的 npm 模块,没有 .js 扩展名的“import”语句出错
问题描述
我在 Laravel 项目中使用 CKEditor 5,从 CDN 获取它,所以最初我不需要运行 npm。但是现在我需要一个对齐插件,所以我使用 Laravel Mix 运行 npm install,然后将插件复制到 public 文件夹。像这样:
mix.copyDirectory('node_modules/@ckeditor', 'public/@ckeditor');
在我的代码中,我尝试导入它:
import Alignment from '/@ckeditor/ckeditor5-alignment/src/alignment.js';
所以它在控制台中抛出了这个错误
未捕获的类型错误:无法解析模块说明符“@ckeditor/ckeditor5-core/src/plugin”。相对引用必须以“/”、“./”或“../”开头。
我通过使用 /@ckeditor/ckeditor5-core/src 自动替换插件中的所有@ ckeditor/ckeditor5-core/src引用来解决它
但是现在,它会抛出这些导入错误,这是因为导入时插件代码中缺少.js扩展名
alignment.js:10 GET http://localhost:8000/@ckeditor/ckeditor5-core/src/plugin net::ERR_ABORTED 404(未找到)
alignment.js:12 GET http://localhost:8000/@ckeditor/ckeditor5-alignment/src/alignmentediting net::ERR_ABORTED 404(未找到)
alignment.js:13 GET http://localhost:8000/@ckeditor/ckeditor5-alignment/src/alignmentui net::ERR_ABORTED 404(未找到)
我的问题是,是否有一些工具可以在这些 import 语句的末尾添加扩展,或者是否有更简单的方法可以在不运行 Node.js 的情况下使用这个 npm 模块,因为我是npm的菜鸟。
解决方案
推荐阅读
- sql - BigQuery cli bq 如何使用 EXECUTE IMMEDIATE 脚本
- angular - 在 2 秒内执行第二个请求作为第一个请求
- javascript - 给定一个 svg 中的字符串,我想将 id 添加到 svg 的文本元素中,id 将包含文本之间的内容
- javascript - Oracle Apex Interactive Grid 全选 仅选择 1 页记录
- scala - Def 宏 - scala 2.13 - 未找到:值条件
- c++ - QueryPerformanceFrequency 调用非常快时输出错误
- r - 删除“”并将“-”替换为“。”
- vba - vba循环遍历形状列表框(更改类型)
- java - InvalidDataAccessApiUsageException 尝试使用具有 Enum 值的 JPA 查询进行查找
- linux - 我需要一次对两个数据库执行一个 sql 查询并将数据导出到 csv 文件