Я знаю, что можно загружать модули узлов с помощью requirejs, и я следовал руководству на их странице, и я попробовал пару вещей, но та же ошибка возвращается!Кажется, что baseUrl изменяется, если я использую файл "r.js", который, как они говорят, необходим для этого, но когда я добавляю файл, он меняет настройку baseUrl, и независимо от того, как я расставляю приоритеты, она всегда меняется.
Есть ли способ заставить эту работу?Я хочу использовать импорт в моих файлах TS как обычно, без необходимости перемещать исходные файлы в локальную папку src, чтобы requirejs мог найти библиотеку.
_Layout.cshtml
<script src="~/js/_require.config.js"></script>
<script>require.baseUrl = '@Url.Content("~/js/")'</script>
<script src="~/lib/require.js"></script>
@RenderSection("Scripts", required: false)
_require_config.js
var require = {
paths: {
"jquery": "../../lib/jquery/dist/jquery",
"bootstrap": "../../lib/bootstrap/dist/js/bootstrap",
"knockout": "../../lib/knockout-3.4.2",
"komapping": "../../lib/knockout.mapping-latest.debug",
"knockout.validation": 'knockout.validation.min',
"datatables": "../../adminLTE/plugins/datatables/jquery.dataTables",
"select2": "select2.min",
"lodash": "lodash.min",
"sweetalert2": "sweetalert2.min",
"tslib": "../../lib/tslib/tslib"
},
deps: ['knockout', 'komapping'],
callback: function (ko, mapping) {
ko.mapping = mapping;
}
};
if (typeof exports === 'object') {
exports.config = require;
}
TSconfig
{
"compilerOptions": {
"module": "amd",
"moduleResolution": "node",
"noImplicitAny": false,
"noFallthroughCasesInSwitch": true,
"noImplicitThis": true,
"noUnusedLocals": false,
"experimentalDecorators": true,
"noUnusedParameters": false,
"importHelpers": true,
"outDir": "./wwwroot/js",
"lib": [
"dom",
"es5",
"es2015.promise",
"es2018.promise",
"esnext.asynciterable"
],
"typeRoots": [
"./node_modules/@types"
]
},
"include": [
"./wwwroot/ts/**/*",
"./wwwroot/lib/tslib/**/*",
"./custom_types/**/*"
],
"exclude": [
"./node_modules",
"./bower_components"
]
}
Скомпилировано JS
define(["require", "exports", "knockout", "../init", "../Shared/generic-sweetalert", "../Shared/default-ajax-requests", "../Models/models", "../Shared/loader", "class-validator"], function (require, exports, ko, init_1, generic_sweetalert_1, default_ajax_requests_1, models_1, loader_1, class_validator_1) {
"use strict";
exports.__esModule = true;
function init(pingUrl, pingUrlForEquimentHtml, pingUrlForEquimentJson) {
init_1.onready(function () {
var dataGrab = default_ajax_requests_1.DefaultAjaxGetRequest(pingUrl);
dataGrab.then(function (val) {
if (val.code == models_1.StatusCodes.Ok) {
loader_1.ToggleLoadingAnimation();
ko.applyBindings(new editOrder(val.data));
}
else {
generic_sweetalert_1.BackendSweetAlert(val.data.responseJSON.sweetAlert);
}
});
});
}
exports.init = init;
var editOrder = /** @class */ (function () {
function editOrder(serverModel) {
var _this = this;
this.model = ko.mapping.fromJS(serverModel);
this.localUrl = document.URL;
this.saveOrder = function () {
class_validator_1.validate(_this.model.Data).then(function (errors) {
console.log(errors);
});
};
}
return editOrder;
}());
});