jquery - 如何将 jQuery 和 jQuery-ui 与 Parcel(捆绑程序)结合使用?

标签 jquery jquery-ui parceljs

我通过 npm 安装了 jquery(3.2.1) 和 jquery-ui-dist(1.12.1)。 (它们不作为脚本标签包含在 html 中)

在客户端脚本中我使用:

window.$ = require('jquery');// plain jQuery stuff works fine
import 'jquery-ui-dist';     // breaks whole jQuery, with Error (missing module 8)

最佳答案

我今天在 angularjs 应用程序和包 bundler 中遇到了类似的问题。 看来,parcel 不能很好地处理(目前?)外部模块中引入的全局变量。除其他问题外。

解决这个问题的一种方法;您可以使用普通的 require 而不是导入,如下所示:

var jquery = require("jquery");
window.$ = window.jQuery = jquery; // notice the definition of global variables here
require("jquery-ui-dist/jquery-ui.js");

$(function() {
  $("#datepicker").datepicker();
});

如果您坚持使用导入,则应该创建一个单独的文件,例如将其命名为 import-jquery.js 并包含以下内容:

import jquery from "jquery";

export default (window.$ = window.jQuery = jquery);

并将其导入到您的主文件中:

import "./import-jquery";
import "jquery-ui-dist/jquery-ui.js";

$(function() {
  $("#datepicker").datepicker();
});

我确实希望我们在不久的将来能得到更好的支持。

关于jquery - 如何将 jQuery 和 jQuery-ui 与 Parcel(捆绑程序)结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47968529/

相关文章:

jquery - 带复选框的下拉列表(mvc3/jquery)?

javascript - Ember.RSVP.Promise 中的 AJAX 调用

jquery - ASP.NET MVC 和 Jquery DatePicker

tailwind-css - 为什么 tailwind css 没有效果?

parceljs - 如何解决 "Parcel build failed. @parcel/optimizer-terser: "_"is redeclared"错误

javascript - 如何使用 javascript 从 TextArea 获取值?

javascript - 带有视差元素的光滑旋转木马

jquery - 如何在 jQuery 对话框标题中显示俄语文本

javascript - Jquery Multiselect - 如何折叠 optgroup

javascript - 带有包裹的Vue SSR(服务器端渲染)?