Пакет javascript WebDav для Node.JS в веб-приложении ASP.NET Core: требование не определено - PullRequest
0 голосов
/ 18 апреля 2019

Я создал новый проект ASP.NET Core для веб-приложения MVC с версией Core 2.2. Затем я создал в папке проекта package.json для установки и управления пакетами npm:

{
  "name": "WebDavTest3",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "requirejs": "2.3.6",
    "webdav": "2.6.0"
  },
  "devDependencies": {
    "gulp": "4.0.0",
    "gulp-concat": "2.6.1",
    "gulp-cssmin": "0.2.0",
    "gulp-uglify": "3.0.2",
    "rimraf": "2.6.3",
    "del": "4.1.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

WebDav отсюда: https://www.npmjs.com/package/webdav

Затем в index.cshtml я написал скрипт из примера webdav:

<script type="text/javascript">
    function edit() {
        const { createClient } = require("webdav");

        const client = createClient(
            "https://webdav.example.com/marie123",
            {
                username: "marie",
                password: "myS3curePa$$w0rd"
            }
        );
    }
</script>

<input type="button" value="Edit Document" onclick="edit()" />

После нажатия кнопки я получил в веб-консоли эту ошибку:

require is not defined

Пакет был сделан для Node.JS, и это проблема, может быть. И проблема будет также в том, что я установил webdav, но я не импортировал в _Layout.cshtml. Но в node_modules / webdav слишком много файлов javascripts и папок с javascripts, чтобы присоединиться к ним через gulpfile.js.

Skúšal som nainštalovať cez npm requirejs balíček, десять сомов, импортированных из _Layout.cshtml. Chybová hláška síce zmizla ale nevedelo nájsť webdav. Так зобрал webdav.js z node_modules / webdav / dist / test / webdav.js десять импортных дел _Layout.cshtml. Avšak dostal som chybu не соответствует анонимному модулю define (): функция. Я попробовал установить requirejs через npm, а затем импортировал requirejs в _Layout.cshtml. Я решил предыдущую проблему, но получил другую:

cannot find webdav

или что-то в этом роде. Поэтому я беру webdav.js из node_modules / wedav / dist / test / webdav.js и импортирую в _Layout.cshtml. Я снова решил следующую проблему и получил другую:

mismatched anonymous define() module: function.

Я делаю что-то не так или очень плохо думаю. Столько странных ошибок без конца.

Мне понадобился этот пакет для нашего приложения ASP.NET Core, потому что я пытался создать приложение с редактируемыми офисными файлами, такими как * .docx и * .xlsx, без повторной загрузки на сервер с протоколом WebDav.

...