Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开始使用Angular2.0.我一直在追踪5 Min Quickstart,一切都很好,尽管我正在使用grunt编译我的Typescript和一些Sass等.

我只有一个我自己无法解决的问题.我想将所有的公共文件(生成JavaScript和生产节点模块)移动到一个子目录中,我需要这样做,因为我运行不同的应用程序而不是同一个domian,前端依赖于登录用户类型(后端被写入与phalcon)

这是我的公用文件夹(网络服务器的根目录)

gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量

所以整个Angular应用程序应该位于“talent”目录中.

“index.html”包含以下内容

<script type="text/javascript" src="/talent/node_modules/systemjs/dist/system.src.js"></script>
<script type="text/javascript" src="/talent/node_modules/angular2/bundles/angular2.dev.js"></script>

<script>
    System.config({
        baseURL: '/talent',packages: {'app': {defaultExtension: 'js',}}
    });
    System.import('app/app');
</script>

SystemJs能够正确加载我的app.js文件,但是trys可以导入angular2:

import {Bootstrap,Component} from 'angular2/angular2';

相应的Javascript

var angular2_1 = require('angular2/angular2');

这会向http://example.dev/talent/angular2/angular2发送请求,导致404错误.

当我将node_modules文件夹和应用程序文件夹移动到webserver的根目录并删除baseURL:’/ talent’时,它工作正常.

以下是对于工作解决方案(根目录)和不工作部分(在/ talent之下的所有内容)

加工:

gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量

不工作:

gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量

你能帮我让这个工作吗?

解决方法

有这个完全相同的问题,只是想了几个小时后.系统配置baseURL需要在加载angular2.dev.js之前设置.这是因为在注册时System.register调用需要注意baseURl.

例如

System.config({BaseURL:’/ talent’});

更简单的方法是将System.config({BaseURL:’/ talent’})添加到system.src.js文件底部.

大佬总结

以上是大佬教程为你收集整理的gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量全部内容,希望文章能够帮你解决gruntjs – Angular2.0在子目录中,SystemJS不能导入角分量所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。