如何使用es6从文件导入jQuery

3phpmpom  于 2023-01-16  发布在  jQuery
关注(0)|答案(2)|浏览(328)

由于这个项目的特殊性,我需要使用一个直接路径将jQuery导入到我的main.js中,这个路径不在node_modules文件夹中,但是我无法这样做。
我有这个

import {MyModule} from './components/myModule.js';
import jQuery from './jquery/jquery-3.3.1.js';

MyModule按预期工作(在Chrome上),但jQuery生成:
未捕获的语法错误:请求的模块未提供名为"default"的导出
jquery-3.3.1.js是来自www.example.com的uncompressed, development jQuery 3.3.1版本,我也尝试过使用生产版本。jQuery.com, I have also tried with the production version.
我应该如何导入它?
编辑:
不是How to import jquery using ES6 syntax?的副本。因为import {$,jQuery} from 'jquery';node_modules上搜索,当我从给定路径导入它时,我得到上面引用的错误。

ix0qys7i

ix0qys7i1#

您可以像这样进行ES6导入:
import * as jQuery from './jquery/jquery-3.3.1.js'
有关import语句的文档:https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/import
如果您没有使用ES6,您可以使用问题注解中给出的@Bergi解决方案:
import './jquery/jquery-3.3.1.js';

gj3fmq9x

gj3fmq9x2#

这对我很有效。

import "@hotwired/turbo-rails"
import "@popperjs/core"
import * as bootstrap from "bootstrap";
import jQuery from "jquery"
window.jQuery = jQuery
window.$ = jQuery

$(document).on("turbo:load", () => {
    console.log("turbo!");
});
$(document).ready(function() {
    const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
    const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
});

相关问题