Angular typescript:从外部路径导入模块

Angular typescript:从外部路径导入模块,angular,typescript,Angular,Typescript,我有以下结构(修订): 我曾尝试将“游戏引擎”符号链接到“游戏/节点_模块”,但当我使用lightserve运行项目时,它给出了“404 GET/game engine” 我想开发与web应用程序分离的引擎。我还对如何实现这一点的任何其他提示感兴趣 该项目基于>P>角2快速启动,因为您使用的是一个使用SyjJS和NPM作为基础的角度快速启动套件,并给出了您如何描述目录布局,您将需要采取以下步骤。 在工作区/游戏中打开终端并运行 npm install --save ../game-engine

我有以下结构(修订):

我曾尝试将“游戏引擎”符号链接到“游戏/节点_模块”,但当我使用lightserve运行项目时,它给出了“404 GET/game engine”

我想开发与web应用程序分离的引擎。我还对如何实现这一点的任何其他提示感兴趣


该项目基于

>P>角2快速启动,因为您使用的是一个使用SyjJS和NPM作为基础的角度快速启动套件,并给出了您如何描述目录布局,您将需要采取以下步骤。 在
工作区/游戏
中打开终端并运行

npm install --save ../game-engine
这将告诉npm从磁盘上的该位置安装软件包,作为
thegame
应用程序的标准依赖项

现在我们只需要告诉SystemJS新添加的依赖项位于何处。SystemJS使用显式配置(与递归目录遍历相反)来定位依赖项。这是一件好事,但是因为我们使用的是NPM而不是JSPM,所以我们需要手动设置它

幸运的是,它相当于添加到
systemjs.config.js
文件中的一行,根据快速入门,它应该位于
thegame
目录的
src
子目录中

将以下内容添加到配置对象的
“map”
属性中:

"game-engine": "npm:game-engine/dist/index.js"
最终,该文件将看起来像

SystemJS.config({
  paths: {
    "npm:": "node_modules/"
  },
  map: {
    "game-engine": "npm:game-engine/dist/index.js",
    "@angular/core": "npm:@angular/core/bundles/core.umd.js",
    // etc.
  }
  // etc.
});

您应该添加什么取决于您的加载器或绑定器。你用什么?SystemJS?网页2?另外,您使用的是什么软件包管理器?NPM?JSPM?纱线?呸,我讨厌那个快速入门。无论如何,您需要做的是运行
cd workspace\thegame
->
npm install../game engine
感谢您更新答案,但是
tsc
不是加载程序,而是TypeScript编译器的命令行界面。根据链接,你的加载程序是SystemJS,一个优秀的模块加载程序。对不起,我很愚蠢。它需要是
“游戏引擎”:
“地图”
配置中的“npm:game engine/dist/index.js”
。是的,它工作正常,谢谢!你能把这些步骤格式化为一个答案,这样我就可以给你评分了吗?
"game-engine": "npm:game-engine/dist/index.js"
SystemJS.config({
  paths: {
    "npm:": "node_modules/"
  },
  map: {
    "game-engine": "npm:game-engine/dist/index.js",
    "@angular/core": "npm:@angular/core/bundles/core.umd.js",
    // etc.
  }
  // etc.
});