Nano Hash - криптовалюты, майнинг, программирование

Спецификации не найдены Reshaper (2017.2.2) TypeScript (2.6.1) Jasmine (2.7.0) при использовании import {}

Настраивать:

  • Визуальная студия 2017
  • Реформер (2017.2.2)
  • Типскрипт (2.6.1)
  • Жасмин (2.7.0)

Проблема:

  • Браузер показывает средство запуска веб-тестов с сообщением «Спецификации не найдены».
  • Видна ошибка консоли: Uncaught ReferenceError: экспорт не определен в referenceFile:2
  • Uncaught ReferenceError: экспорт не определен в Tests.js:2

Дополнительная информация:

В инструменте разработки, если я нажму на referenceFile:2, я увижу исходный JS-код файла с таким содержимым:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var User = (function () {
    function User(name, surname) {
        this._name = name;
        this._surname = surname;
    }
    Object.defineProperty(User.prototype, "Name", {
        get: function () {
            return this._name;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(User.prototype, "Surname", {
        get: function () {
            return this._surname;
        },
        enumerable: true,
        configurable: true
    });
    return User;
}());
exports.User = User;
//# sourceMappingURL=User.js.map

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "lib": ["es5"],
    "sourceMap": true
  },
  "exclude": [
    "node_modules"
  ]
}

пакет.json

{
  "name": "nodejs-console-app",
  "version": "0.0.0",
  "description": "NodejsConsoleApp",
  "main": "app.js",
  "author": {
    "name": "ms"
  },
  "devDependencies": {
    "@types/node": "^6.0.87",
    "jasmine": "^2.8.0"
  },
  "dependencies": {
    "@types/jasmine": "^2.8.2"
  }
}

Любая идея о том, как я могу решить проблему?

ОБНОВЛЕНИЕ: проблема вызвана типом модуля commonJs, указанным в tsconfig.json. Это значение по умолчанию, предлагаемое многими шаблонами, и именно его я использую чаще всего. CommonJS, к сожалению, не может быть запущен в браузере сразу, его необходимо упаковать/обозревать, чтобы его можно было запускать в браузере. Для исходного кода я использую Gulp>browserify, и все работает правильно.

Я ожидал, что resharper сделает всю грязную работу за меня, но это не так. Как я могу использовать resharper для запуска этих тестов без ошибок, в моем случае мне даже не нужно открывать браузер, чтобы он мог работать в node.


Ответы:


1

Компиляция модуля TypeScript имеет значение, я использовал CommonJS, но он не поддерживается браузерами, и R# ничего с этим не делает.

В tsconfig.json >compileOptions > module можно указать один из следующих параметров: commonjs, amd, system, umd, es6.

С R# вы можете и должны использовать es6

Для получения дополнительной информации об этом: модули Typescript Разрешение модуля Typescript

17.11.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..