Сценарии Compiler-On-Save генерируют неправильные модули

Я только что обновил Web Essentials 2012 и обнаружил, что теперь мне нужно использовать встроенные функции компиляции плагина Typescript.

Поэтому сначала я добавил дополнительный код к проекту. http://typescript.codeplex.com/wikipage?title=Compile-on-Save

<propertygroup condition="'$(Configuration)' == 'Debug'">
 <typescripttarget>ES5</typescripttarget>
 <typescriptincludecomments>true</typescriptincludecomments>
 <typescriptsourcemap>true</typescriptsourcemap>
 </propertygroup>
 <propertygroup condition="'$(Configuration)' == 'Release'">
 <typescripttarget>ES5</typescripttarget>
 <typescriptincludecomments>false</typescriptincludecomments>
 <typescriptsourcemap>false</typescriptsourcemap>
 </propertygroup>

Однако, когда я компилирую, я нахожу несколько вещей:

  • Мои файлы .min.js больше не компилируются.
  • У меня нет окна предварительного просмотра (печальное время).
  • И мой .js файл некорректно сгенерирован.

Это .js:

/// <reference path="../_references.d.ts">
var ko = require('knockout-mapping');
var library = require("./foo/library");

var myModule;
(function (myModule) {
 var Foo = (function () {
 function Foo(parameters) {
 this.parameters = parameters;
</reference>

от этого .ts:

import ko = require('knockout-mapping');
import library = require('foo/library');

module myModule {

 export class Foo {

 constructor(public parameters) {

Операция import относительна (неверна для моей установки), и теперь она использует require вместо define. Как я могу это исправить?

Благодарю.

1 ответ

вы можете использовать параметры компилятора для передачи в amd: CompilerOptions="-module amd"

Спецификация: https://msbuildtypescript.codeplex.com/

licensed under cc by-sa 3.0 with attribution.