Eu estou tentando converter meu aplicativo para usar o Webpack, pois está se tornando uma dor para gerenciar todas as dependências. Eu tenho os arquivos do fornecedor compilando OK.
Eu tenho o arquivo abaixo (este é um arquivo grande, masEu removi muito para simplificar e quero importar isso em meus pontos de entrada. O que quer que eu tente eu recebo App.init não é uma função.Como eu iria sobre como converter isso em um módulo e ainda agir como ele está fazendo? por exemplo App.someFunction()
var App = function() {
// IE mode
var isRTL = false;
var isIE8 = false;
var isIE9 = false;
var isIE10 = false;
var resizeHandlers = [];
var assetsPath = "/v1/assets/";
// theme layout color set
var brandColors = {
"blue": "#89C4F4",
};
// initializes main settings
var handleInit = function() {
//do stuff
};
// Handlesmaterial design checkboxes
var handleMaterialDesign = function() {
//do stuff
}
// Handles custom checkboxes & radios using jQuery iCheck plugin
var handleiCheck = function() {
//do stuff
};
//* END:CORE HANDLERS *//
return {
//main function to initiate the theme
init: function() {
//IMPORTANT!!!: Do not modify the core handlers call order.
//Core handlers
handleInit(); // initialize core variables
//UI Component handlers
handleMaterialDesign(); // handle material design
},
//main function to initiate core javascript after ajax complete
initAjax: function() {
handleiCheck();
},
//init main components
initComponents: function() {
this.initAjax();
},
};
}();
jQuery(document).ready(function() {
App.init(); // init metronic core componets
});
Respostas:
0 para resposta № 1Tente converter App
para um common.js
módulo. Dentro app.js
:
exports.App = function() {
...
}
e depois importá-lo dentro do seu arquivo de índice:
var App = require("path/to/app.js");
jQuery(document).ready(function() {
App.init();
});