npm 使用laravel 9和vite构建时,“default”不会被“node_modules/select2/dist/js/select2.js”导出

pqwbnv8z  于 2023-06-06  发布在  其他
关注(0)|答案(2)|浏览(370)

bounty还有3天到期。此问题的答案有资格获得+500声望奖励。user2989367希望引起更多关注这个问题。

我有一个Laravel 9应用程序。我试图让select2工作,但是,当我做npm run build我得到错误:
滚动错误:“default”不是由“node_modules/select2/dist/js/select2.js”导出的,而是由“resources/js/app.js”导入的。
我使用以下命令安装了select2

npm install select2 --save-dev

然后,我在jquery导入后在app.js文件中添加了以下行:

import select2 from "select2"

select2()

在开发模式下一切都很好。但是,只要我尝试构建它,我就会得到上面提到的错误。有谁知道怎么解决这个问题吗?

jum4pzuy

jum4pzuy1#

据我所知,select2是一个jQuery插件,不使用ES6模块。如果没有ES6,则表示不支持export default
要使用这个

使用jQuery结构导入

npm install jquery --save

代码中

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

import 'select2'; // Modifies the global jQuery object.

$('select').select2();

也可以试试How can I using select2 with webpack?

如果你有CSS,你可以在main CSS或SASS中添加(例如:app.scss

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

最后,跑

npm run build

如果您需要CDN Using Select2 from a CDN

rsaldnfx

rsaldnfx2#

试试这个import $ from 'jquery';import 'select2';
// Optional: Import select2 CSS if needed import 'select2/dist/css/select2.min.css';// Initialize select2 $(document).ready(function() { $('select').select2() }) than npm run dev

相关问题