【问题标题】:Visual Studio not reading tsconfig correctly?Visual Studio 没有正确读取 tsconfig?
【发布时间】:2016-10-05 11:45:13
【问题描述】:

所以,我有一个自定义的 npm 包,我们正尝试在我的公司中使用它。这个包完全是打字稿,所以我尝试构建它。但是 Typescript 默认忽略 node_modules 所以我的 tsconfig 是这样的:

{
  "compilerOptions": {
    "noImplicitAny": false,
    "removeComments": false,
    "preserveConstEnums": true,
    "target": "ES5",
    "sourceMap": true,
    "listFiles": true
  },
  "files": [
    "typings/index.d.ts",
    "node_modules/custom_module/**/*.ts",
    "app/**/*.ts"
  ]
}

使用 gulp-typescript 可以很好地构建,但是 Visual Studio 构建不是那么协作,甚至无法识别诸如 angular 之类的东西。并且需要内置VS自动发布。

我尝试用“include”替换“文件”,然后它可以找到角度等,但仍然不是我们的自定义模块。然后 gulp-typescript 也找不到我们的模块。

我可能需要在此处添加/删除任何内容吗?

【问题讨论】:

  • 当您将自定义节点模块包含在项目中时,它应该已经编译为 js 您只需要在应用程序中包含 .d.ts 文件并映射模块加载器以加载正确的 js在运行时。
  • @toskv 哦,所以你不能那样分享打字稿文件吗?有趣的是,我会让他们知道他们应该与预建文件和定义文件共享它!
  • 不是你不能,而是你不应该构建他们的项目。您还必须复制他们的构建设置,以这种方式工作将非常脆弱。 :) 这也是一个不同的项目,所以你可能希望有一个可以直接使用的可交付成果(即使没有打字稿)。
  • @toskv 谢谢伙计,我们是这样工作的,也许您应该将其设置为答案,以便我们将其保存以供后代使用!
  • 我添加了一个答案,很高兴你能成功。 :)

标签: typescript visual-studio-2015 tsconfig


【解决方案1】:

您的节点模块应该以转译的 Javascript 代码和描述它的定义文件的形式出现,而不是您必须自己重新编译的 TypeScript 代码。

这样做会创建一个非常脆弱的构建环境,因为您必须将他们的构建设置复制到您的环境中。

您应该只需要包含 .d.ts 文件(node_modules 中的文件由 tsc 自动包含),如果您使用模块加载器,请将模块映射到正确的 Javascript 文件。

【讨论】:

    猜你喜欢
    • 2017-11-09
    • 2011-04-07
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多