1

Я установил новый веб-проект, где я хотел начать работать/изучать TypeScript. Этот проект, в то время как пустой веб-проект C# .net не использует MVC, угловой и т. Д. Это просто ванильный html и Ts. Все работало нормально, пока я не начал создавать модули (классы, интерфейсы и т. Д.). Как только я начал экспортировать и импортировать модули, я начал получать в инструментах dev ошибку Uncaught ReferenceError: require is not defined. Глядя на фактический файл js, я вижу, что он обертывает тело файла в require(). Этот проект небольшой, и я не хочу, если это возможно, настроить requireJs. Есть ли способ отключить компилятор Ts в VS, чтобы не вставить функцию require()? node.js не используется, и в рамках свойств проекта я переключил систему модулей с CommonJS на Es2015.Как запустить TypeScript в Visual Studio 2015 без require() или requireJS

Или я совершенно ничего не вижу здесь и должен связывать эти файлы?

Я декларирование экспорта и импорта, как:

interface.ts

import {Category } from './enums'; 

interface ICar { 
    id: number; 
    make: string; 
    model: string; 
    vin?: string; 
    mileage?: number; 
    category: Category; 
} 

export { ICar } 

enum.ts

enum Category { Antique, Sportscar, Truck, SUV, Sedan }; 

export { Category }; 

и в верхней части моего главного app.ts файлов я ссылка модули

import { Category } from './enums'; 
import { ICar } from './interfaces'; 

После компиляции выход JS в моем основном app.js файла содержит это в заголовке

"use strict"; 
var enums_1 = require("./enums"); 

Спасибо за любые советы

+0

Когда вы говорите, вы получите сообщение об ошибке в «Devtools» вы говорите Visual Studio или вы говорите в браузере? – Chris

+0

@Chris ошибка появляется в консольной части Chrome Dev Tools. Поэтому вместо того, чтобы видеть фактический вывод из console.log и т. Д., Я получаю сообщение об ошибке, и скрипт перестает работать. Visual Studio компилирует Ts fine – rlcrews

+0

Я предполагаю, что ваш скомпилированный типScript не объединяется. Браузеры не запускают модули без использования какого-либо модуля-загрузчика. Существует множество решений, системный JS, WebPack, Gulp ... даже собственный набор сценариев .net. Вам нужно либо иметь вспомогательную загрузку модулей, либо вам нужно сделать все ваши модули в один скрипт. – Chris

ответ

0

Вы можете настроить машинопись в Visual Studio проекта, как это: enter image description here

Тогда, если вы никогда не используете экспорт или импорт, вы сможете работать. Для собственных файлов СЦЕПЛЕНИЯ (когда bundlig все вместе), не забудьте добавить свои ссылки в верхней части ваших TS файлов:

/// <reference path="path/mytool.class.ts" />