Typescript Compile-On-Save生成错误的模块

时间:2013-09-02 10:34:04

标签: typescript amd

我刚刚更新了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>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />

然而,当我编译时,我发现了一些事情:

  • 我的.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;

来自.ts

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

module myModule {

   export class Foo {

      constructor(public parameters) {

import语句是相对的(我的设置有误),现在使用require代替define。我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用编译器选项传入amd:CompilerOptions="-module amd"

规格:https://msbuildtypescript.codeplex.com/