使用带有Laravel Mix的npm模块的不带有.js扩展名的'import'语句出错,

时间:2019-11-26 08:00:11

标签: javascript node.js npm ckeditor laravel-mix

我在Laravel项目中使用CKEditor 5,它是从CDN中获取的,因此起初我不需要运行npm。但是现在我需要一个对齐插件,因此我使用Laravel Mix运行npm install,然后将插件复制到公用文件夹。像这样:

mix.copyDirectory('node_modules/@ckeditor', 'public/@ckeditor');

在我的代码中,我尝试导入它:

import Alignment from '/@ckeditor/ckeditor5-alignment/src/alignment.js';

因此它在控制台中引发了此错误

  

未捕获的TypeError:无法解析模块说明符“ @ 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语句的末尾添加扩展名,或者是否存在一种更简单的方法来运行npm模块而不运行Node.js,因为我对 npm

0 个答案:

没有答案