首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular2和ASP.NET MVC

问Angular2和ASP.NET MVC
EN

Stack Overflow用户
提问于 2016-06-29 01:11:09
回答 1查看 381关注 0票数 2

我正在自学Angular2 (显然,这是未来的潮流),我正在进行实验。我在这里遵循了易卜拉欣·乌卢达格的教程:

http://www.ibrahimuludag.com/2016/01/angular2-and-visual-studio.html

这就很好用了。但我想更进一步,使用MVC项目,而不是易卜拉欣建议的TypeScript项目。我使用了一个简单的结构(一个控制器,一个视图),并将Angular2 JavaScript引用添加到我的视图中(以及header、body等)。我必须在文件名前加上一个斜杠,否则服务器会将它们解释为控制器/视图引用。这部分工作得很好。

我遇到的问题是这个命令:

代码语言:javascript
复制
System.config ({
    packages: {
        app: {
            format: 'register',
            defaultExtension: 'js'
        }
    }
});
System.import ('app/boot')
    .then (null, console.error.bind(console));

我可以从调试器中看到它正在尝试查找http://localhost/Default/app/boot --“默认”部分是我的控制器的名称(当我在直接的JavaScript引用中没有包括斜杠时,同样的问题也会出现)。我试过在"app/boot“前加上一个斜杠("/app/boot"),这样就行得通了:它会找到boot.ts,但不会找到任何依赖项,再一次将控制器名称添加到URL中。

有没有人有任何建议,或者至少有一个参考,我可以在哪里找到关于System.import指令的信息?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-06-29 01:25:37

首先,我要赞扬您深入了解angular2的世界。

System.import是SystemJS的一部分。SystemJS是angular 2使用的一个模块加载器,而新的奇特的javascript规范最终确定并由浏览器实现。

有关System.import的更多信息,请参阅:https://github.com/systemjs/systemjs

我相信你的问题在于MVC提供静态文件的方式,而不是SystemJs试图加载模块的方式。

请参阅本文:Using ASP.NET routing to serve static files

在RouteConfig.cs文件中:

代码语言:javascript
复制
routes.IgnoreRoute("app/{file}.js");

这应该会告诉MVC忽略位于项目根目录下的app文件夹中的js文件。然后,SystemJS应该能够正确加载您的模块。

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

https://stackoverflow.com/questions/38082367

复制
相关文章

相似问题

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