尝试在项目中使用Alertify遇到麻烦。我正在使用来自symfony 4的webpack encore。
我已经使用以下语言进行了>
npm install alertifyjs --save
这是我的app.js
// any CSS you require will output into a single css file (app.css in this case)
import '../css/app.css';
import '../../node_modules/bootstrap/dist/css/bootstrap.css';
import '../../node_modules/admin-lte/bower_components/font-awesome/css/font-awesome.min.css';
import '../../node_modules/admin-lte/bower_components/Ionicons/css/ionicons.min.css';
import '../../node_modules/admin-lte/dist/css/AdminLTE.min.css';
import '../../node_modules/admin-lte/dist/css/skins/skin-blue.min.css';
const $ = require('jquery');
global.$ = global.jquery = $;
import 'bootstrap';
import '../../node_modules/admin-lte/bower_components/jquery-ui/jquery-ui.js';
import '../../node_modules/admin-lte/dist/js/adminlte.js';
const alertify = require('alertifyjs');
global.alertify = alertify;
// Custom js
import './dashboard/GMDashboard.js';
import './explotations/GMExplotations.js';
在我要使用的对象上,您可以看到我正在传递窗口,jQuery,并提醒到闭包以在内部使用它们,但是我遇到了这个错误:
GMExplotations.js:37未捕获的ReferenceError:未定义alertify 在对象。 (GMExplotations.js:37) 在Object ../ assets / js / explotations / GMExplotations.js(app.js:327) 位于 webpack_require (引导程序:78) 在模块。 (app.js:1) 在Module ../ assets / js / app.js(app.js:23) 位于 webpack_require (引导程序:78) 在checkDeferredModules(bootstrap:45) 开机时:151 在bootstrap:151
'use strict';
(function(window, $, alertify) {
window.GMExplotations = function($wrapper) {
console.log($wrapper);
this.$wrapper = $wrapper;
//TODO: Bind events
// App Init
this.init();
};
$.extend(window.GMExplotations.prototype, {
_selectors: {
},
init: function() {
console.log('Alertify test');
alertify
.alert("This is an alert dialog.", function(){
alertify.message('OK');
});
},
});
let ExplotationsWrapper = $('#explotations-table');
if (ExplotationsWrapper.length > 0) {
let GM = new GMExplotations(ExplotationsWrapper);
}
})(window, jQuery, alertify); <- Here fails
Alertifyjs在我的供应商〜app.js上,但我无法找出为什么它找不到Alertify,有什么主意吗?