【问题标题】:How to run TypeScript in Visual Studio 2015 without require() or requireJS如何在没有 require() 或 requireJS 的情况下在 Visual Studio 2015 中运行 TypeScript
【发布时间】:2017-06-04 17:30:30
【问题描述】:

我已经设置了一个新的 Web 项目,我想在其中开始工作/学习 TypeScript。这个项目虽然是一个空的 c#.net web 项目,但没有使用 MVC、angular 等。它只是普通的香草 html 和 Ts。在我开始设置模块(类、接口等)之前,一切都运行顺利。一旦我开始导出和导入模块,我开始在开发工具中收到错误Uncaught ReferenceError: require is not defined。查看实际的 js 文件,我可以看到它正在将文件的主体包装在 require() 中。 这个项目很小,如果可能的话,我不想设置 requireJs。有没有办法在 VS 中禁用 Ts 编译器以不插入 require() 函数? node.js 没有被使用,并且在项目属性中,我已将模块系统从 CommonJS 切换到 Es2015。

或者我在这里完全遗漏了什么,应该捆绑这些文件?

我将出口和进口声明为:

interface.ts

import  {Category }  from './enums';

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

export { ICar }

枚举.ts

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

export { Category };

在我的主文件 app.ts 的顶部,我引用了模块

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

在我的主文件 app.js 中编译后的 js 输出在标题中包含此内容

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

感谢您的建议

【问题讨论】:

  • 当您说“devtools”中出现错误时,您是在谈论 Visual Studio 还是在浏览器中?
  • @Chris 错误出现在 Chrome 开发工具的控制台部分。因此,我没有看到来自 console.log 等的实际输出,而是出现错误并且脚本停止运行。 Visual Studio 编译好 Ts
  • 我的猜测是您编译的 typeScript 没有捆绑在一起。如果没有某种模块加载器,浏览器就不会运行模块。存在许多解决方案,systemJS、WebPack、Gulp……甚至是 .net 自己的脚本捆绑器。您需要让帮助程序加载模块,或者您需要将所有模块放入一个脚本中。

标签: typescript visual-studio-2015 requirejs bundling-and-minification


【解决方案1】:

您可以像这样在 Visual Studio 项目中设置打字稿:

然后,如果您从不使用导出或导入,您将能够工作。对于正确的文件链接(当捆绑在一起时)不要忘记在 ts 文件的顶部添加您的引用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2022-12-03
    • 2017-11-05
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多