2017-04-04 182 views
4

我在Angular2中使用AngularCli开发了一个应用程序,我想将它作为“Layout”(如MasterPage)用于另一个项目。就像一个大的“SPA系统”。如何创建一个包含另一个AngularCli的AngularCli应用程序?

例如,在菜单中,我们将有以下几点:

  • 框架
    • 页A
  • Xpto
    • 网页B

该框架运行在http://localhost:90和XPTO运行在http://localhost:91。他们都在AngularCli上运行。

我想创建一个结构,当我点击页面A或页面B时,浏览器不会重新加载,它会为用户提供“应用程序”样式,将页面加载为网站上的SPA。

主要原因是重新使用Javascript,CSS和许多其他文件从“框架”项目到其他20个项目。我不想复制这些项目中的所有组件,文件等。

今天我们使用MVC3和RazorGenerator来创建.cshtml作为一个DLL来重用框架中的.cshtml到其他模块。

但是我们想要去AngularCli。有没有办法做到这一点?如果不是,有什么方法可以在AngularCli中创建一个可重用组件和其他文件的模板?

谢谢!

回答

4

您可以将共享的Angular组件和模块放入单独的npm包中,并将此包用作其他项目的依赖项。 为了引用你的npm包(我假设它不在npmjs.com托管),你可以指定一个git库或本地路径。 这里的package.json

{ 
    "name": "foo", 
    "version": "0.0.0", 
    "dependencies": { 
    "my_git_package": "git+ssh://[email protected]/project.git#commit-ish", 
    "my_local_package": "file:../foo/bar" 
    } 
} 

的例子看看这里https://docs.npmjs.com/files/package.json

+0

嗨随机dependencies节,感谢您的回答。我正在寻找如何做到这一点,但是当我做npm发布时,这个软件包会上网吗?你有一些例子如何做到这一点? 再次感谢! – galioni

+0

嗨,为我的回复添加了一个例子 – Random

+0

它的工作原理!谢谢!你是一个救星! =) – galioni