首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在node_modules核心应用程序中引用TypeScript中的Asp.Net

在node_modules核心应用程序中引用TypeScript中的Asp.Net
EN

Stack Overflow用户
提问于 2021-02-04 19:00:56
回答 1查看 304关注 0票数 1

我正在构建一个简单的ASP.NET核心应用程序,它使用npm和TypeScript。我的项目结构如下:

代码语言:javascript
运行
复制
/ root
  | wwwroot
    | js
      | AutoGenerated         // <-- TS output goes here
    | view
      | index.html            // <-- imports app.js from "AutoGenerated"
  | scripts
    | app.ts
  | node_modules
    | ..
    | ..
  | package.json
  | tsconfig.json
  | Startup.cs
  | Program.cs

tsconfig设置为"moduleResolution":"Node"。所有其他的配置都是相当标准的,所以现在我不会把它包括在这里,以避免混乱的大局。

在我的app.ts中,我想引用通过节点下载的包之一,因此我添加了以下行:

代码语言:javascript
运行
复制
import { SomeClass } from "@module/downloadedModule";

上面的导入被解析为"/node_modules/@module/downloadedModule",这正是我所需要的。整个项目按照预期在/wwwroot/js/AutoGenerated/下编译和生成一个/wwwroot/js/AutoGenerated/文件。

问题是,生成的JS文件仍然包含对node_modules的引用:

代码语言:javascript
运行
复制
import { SomeClass } from "@module/downloadedModule";

这是没有意义的,因为只有wwwroot下的文件由我的应用程序提供。

我发现了一个类似的问题:模块到ASP.NET核心应用程序和作者建议扩展静态文件处理程序以便包含"node_modules",但是我不想在我的应用程序中这样做。

我脑海中浮现的潜在解决方案(虽然我不确定它们是否适用):1。将需要的文件从node_modules映射到/wwwroot/dependencies,并在TS编译期间修改JS文件中的导入路径。2.)将我的TS文件和所需的node_modules依赖绑定到一个独立的、独立的JS文件中。3.)任何其他允许我从我的html中使用app.js并且不需要大量包的东西。

EN

Stack Overflow用户

回答已采纳

发布于 2021-02-07 18:30:02

捆绑你所有的npm包和定制模块是你最好的选择。如果要将整个node_modules目录包括在wwwroot中,则需要提供大量文件,因此重新设置导入node_modules是不切实际的。

如果您想要一个简单的系统,您可以在像unpkg.com这样的服务上使用npm包的CDN版本。

但是,我会推荐像Webpack包裹这样的绑定器来完成这项工作。您可以在网上找到好的教程、文档和示例,以了解您的特定框架。Webpack要开始了是开始研究绑定配置的好地方。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66052156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档