10.10.2018, 09:22
|
Аспирант
|
|
Регистрация: 19.02.2011
Сообщений: 37
|
|
как правильно пользоваться RequireJS ?
Хочу сделать так что бы в конфиге определить название модуля - путь и потом подключать потом по имени только.
basket.html:
<script data-main="assets/js/page_js/basket.js" src="assets/js/require.js"></script>
basket.js:
require(["order_entity", "databaseModule"], function(order_entity, databaseModule) {
// databaseModule(10, 20);
});
Или мне делать так в каждом файле ? но это же не удобно
require.config({
baseUrl: "modules",
paths: {
"constants": "../modules/constants",
"firebase": "../modules/firebase/firebase-app",
"firebase-auth": "../modules/firebase/firebase-auth",
"firebase-database": "../modules/firebase/firebase-database",
"databaseModule": "../modules/databaseModule",
"user_entity": "../modules/entities/user",
"order_entity": "../modules/entities/order"
},
callback: function (constants) {
console.log(constants.url);
console.log("eeee");
}
});
|
|
10.10.2018, 10:15
|
|
Профессор
|
|
Регистрация: 18.05.2011
Сообщений: 1,207
|
|
1 раз конфиг задается, в данном случае в точке входа (assets/js/page_js/basket.js)
|
|
10.10.2018, 10:35
|
Аспирант
|
|
Регистрация: 19.02.2011
Сообщений: 37
|
|
Я перенёс в config_modules. A потом как подсоединить его в других файлах? У меня не получается. Он не берет нормальный путь что я указал в PATH
|
|
10.10.2018, 11:51
|
Аспирант
|
|
Регистрация: 19.02.2011
Сообщений: 37
|
|
Сообщение от destus
|
1 раз конфиг задается, в данном случае в точке входа (assets/js/page_js/basket.js)
|
require.config({
baseUrl: "assets/js/modules",
paths: {
constants: "constants",
firebase: "firebase/firebase-app",
firebase_auth: "firebase/firebase-auth",
firebase_database: "firebase/firebase-database",
databaseModule: "databaseModule",
user_entity: "entities/user",
order_entity: "entities/order"
},
callback: function (constants) {
//console.log(constants.url);
//console.log("eeee");
}
});
require(["constants", "firebase"], function (constants, firebase) {
var conf = constants.config_db;
database = firebase.initializeApp(conf);
console.log(constants.url);
// databaseModule(10, 20);
});
Сделал пока так но как то хочется конфиг вынести в какой то общий файл ...
|
|
10.10.2018, 12:07
|
|
Профессор
|
|
Регистрация: 18.05.2011
Сообщений: 1,207
|
|
evgeniy123,
в доках написано, что можно так
<script>
var require = {
baseUrl: "assets/js/modules",
paths: {
constants: "constants",
firebase: "firebase/firebase-app",
firebase_auth: "firebase/firebase-auth",
firebase_database: "firebase/firebase-database",
databaseModule: "databaseModule",
user_entity: "entities/user",
order_entity: "entities/order"
},
callback: function(constants) {
//console.log(constants.url);
//console.log("eeee");
}
};
</script>
<script data-main="assets/js/page_js/basket.js" src="assets/js/require.js"></script>
https://github.com/requirejs/require...he-main-module
Проверьте...
|
|
10.10.2018, 12:31
|
Аспирант
|
|
Регистрация: 19.02.2011
Сообщений: 37
|
|
Сообщение от destus
|
evgeniy123,
в доках написано, что можно так
<script>
var require = {
baseUrl: "assets/js/modules",
paths: {
constants: "constants",
firebase: "firebase/firebase-app",
firebase_auth: "firebase/firebase-auth",
firebase_database: "firebase/firebase-database",
databaseModule: "databaseModule",
user_entity: "entities/user",
order_entity: "entities/order"
},
callback: function(constants) {
//console.log(constants.url);
//console.log("eeee");
}
};
</script>
<script data-main="assets/js/page_js/basket.js" src="assets/js/require.js"></script>
https://github.com/requirejs/require...he-main-module
Проверьте...
|
Сделал Осталось только понять как сделать агрузку оптимальной .Сейчас приходится
...
<head>
<meta charset="UTF-8">
<script data-main="assets/js/modules/config_modules.js" src="assets/js/require.js"></script>
...
Смотрел но так не нашел эффективного и быстро решить такую проблему ..
|
|
10.10.2018, 12:53
|
|
Профессор
|
|
Регистрация: 18.05.2011
Сообщений: 1,207
|
|
Что за оптимальная загрузка?
Так работает?
<script src="assets/js/modules/config_modules.js"></script>
<script data-main="assets/js/page_js/basket.js" src="assets/js/require.js"></script>
и в config_modules.js
var require = {
baseUrl: "assets/js/modules",
paths: {
constants: "constants",
firebase: "firebase/firebase-app",
firebase_auth: "firebase/firebase-auth",
firebase_database: "firebase/firebase-database",
databaseModule: "databaseModule",
user_entity: "entities/user",
order_entity: "entities/order"
},
callback: function(constants) {
//console.log(constants.url);
//console.log("eeee");
}
};
Последний раз редактировалось destus, 10.10.2018 в 13:02.
|
|
10.10.2018, 14:41
|
Аспирант
|
|
Регистрация: 19.02.2011
Сообщений: 37
|
|
да. Но нужно в header обязательно ставить:
<script src="assets/js/modules/config_modules.js"></script>
Не могу поставить перед </body> оба script
|
|
|
|