"default" is not exported by "node_modules/select2/dist/js/select2.js" when building with laravel 9 and vite

huangapple go评论102阅读模式
英文:

"default" is not exported by "node_modules/select2/dist/js/select2.js" when building with laravel 9 and vite

问题

我有一个 Laravel 9 应用程序。我正在尝试让 select2 正常工作,然而,当我运行 npm run build 时,我收到以下错误:

> RollupError: "default" 在 "node_modules/select2/dist/js/select2.js" 中没有被导出,在 "resources/js/app.js" 中导入。

我使用以下命令安装了 select2

npm install select2 --save-dev

然后我在我的 app.js 文件中在引入 jquery 之后添加了以下代码:

import select2 from "select2"

select2()

在开发模式下一切似乎都很正常。然而,一旦我尝试构建它,我就会收到上面提到的错误。有谁知道如何解决这个问题吗?

英文:

I have a Laravel 9 app. I am trying to get select2 to work however, when I do npm run build I get the error:

> RollupError: "default" is not exported by "node_modules/select2/dist/js/select2.js", imported by "resources/js/app.js".

I installed select2 using the following:

npm install select2 --save-dev

Then I added the following lines in my app.js file after the jquery import:

<!-- language: javascript -->

import select2 from &quot;select2&quot;

select2()

Everything seems to be fine in dev mode. However, as soon as I try to build it, I get the error mentioned above. Does anyone know how to fix this?

答案1

得分: 1

根据我所知,select2 是一个 jQuery 插件,不使用 ES6 模块。如果没有 ES6,意味着不支持 export default

要使用它,请按照以下步骤进行操作:

导入它,使用 jQuery 结构。

npm install jquery --save

在代码中

import $ from 'jquery';
window.jQuery = $;
window.$ = $;

import 'select2'; // 修改全局 jQuery 对象。

$('select').select2();

你也可以尝试这个方法 如何在 webpack 中使用 select2?

如果你有 CSS 文件,你可以将它添加到主 CSS 文件或 SASS 文件中(例如:app.scss)。

@import "~select2/dist/css/select2.min.css";

最后,运行:

npm run build

如果你需要 CDN,请参考 从 CDN 使用 Select2

英文:

As I know, select2 is a jQuery plugin and does not use ES6 modules. If no ES6 means No support for export default


To use this,

Import it with a jQuery structure.

npm install jquery --save

In code

import $ from &#39;jquery&#39;;
window.jQuery = $;
window.$ = $;

import &#39;select2&#39;; // Modifies the global jQuery object.

$(&#39;select&#39;).select2();

can try this too How can I using select2 with webpack?

If you have CSS, you can add in main CSS or SASS(ex: app.scss)

@import &quot;~select2/dist/css/select2.min.css&quot;;

Finally, run

npm run build

In case you need CDN Using Select2 from a CDN

答案2

得分: -2

尝试这个

import $ from 'jquery';
import 'select2';

// 可选:如果需要,导入select2的CSS
import 'select2/dist/css/select2.min.css';

// 初始化select2
$(document).ready(function() {
  $('select').select2()
})

然后运行

npm run dev
英文:

Try this
import $ from &#39;jquery&#39;;
import &#39;select2&#39;;

// Optional: Import select2 CSS if needed
import &#39;select2/dist/css/select2.min.css&#39;;

// Initialize select2
$(document).ready(function() {
$(&#39;select&#39;).select2()
})

than
npm run dev

huangapple
  • 本文由 发表于 2023年5月28日 21:21:13
  • 转载请务必保留本文链接:https://go.coder-hub.com/76351715.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定