如何将 jQuery 和 jQuery-ui 与 Parcel(捆绑器)一起使用?
How do I use jQuery and jQuery-ui with Parcel (bundler)?
我通过 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 应用程序和包裹捆绑器时遇到了类似的问题。
似乎 parcel 不能很好地处理(目前?)外部模块中引入的全局变量。除其他问题外。
一种解决方法;你可以使用简单的要求而不是像这样的导入:
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();
});
我希望我们在不久的将来能对此提供更好的支持。
我通过 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 应用程序和包裹捆绑器时遇到了类似的问题。 似乎 parcel 不能很好地处理(目前?)外部模块中引入的全局变量。除其他问题外。
一种解决方法;你可以使用简单的要求而不是像这样的导入:
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();
});
我希望我们在不久的将来能对此提供更好的支持。