Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 多个网页包别名配置可以';t解析模块_Angularjs_Typescript_Webpack_Ts Loader - Fatal编程技术网

Angularjs 多个网页包别名配置可以';t解析模块

Angularjs 多个网页包别名配置可以';t解析模块,angularjs,typescript,webpack,ts-loader,Angularjs,Typescript,Webpack,Ts Loader,我正在开发一个用Typescript编写的Angular 2应用程序,它使用webpack和ts loader将所有内容捆绑在一起 我非常依赖webpack的resolve.alias来满足不同的构建输出,我遇到了一个问题 运行特定生成时,ts loader抛出一个错误,表示找不到当前生成中使用的模块。我认为这是由于别名指向不同的文件 例如: 文件:myApp.ts 我有两个alias JSON文件,一个设置为指向remoteSystemLogger.ts的“logger”,另一个指向conso

我正在开发一个用Typescript编写的Angular 2应用程序,它使用webpack和ts loader将所有内容捆绑在一起

我非常依赖webpack的resolve.alias来满足不同的构建输出,我遇到了一个问题

运行特定生成时,ts loader抛出一个错误,表示找不到当前生成中使用的模块。我认为这是由于别名指向不同的文件

例如: 文件:myApp.ts

我有两个alias JSON文件,一个设置为指向remoteSystemLogger.ts的“logger”,另一个指向consoleLogger.ts

  • 生成一个将使用remoteSystemLogger的
  • 构建B将使用控制台记录器
现在,每个记录器类将导入它们的相对依赖项。例如:

文件:remoteSystemLogger.ts

问题是,当我运行build B时,我会收到一个错误消息:

remoteSystemLogger.ts中出现错误

错误TS2307:找不到模块“http”

http和remoteSystemLogger当前未在构建B的别名JSON文件中指定,因为构建B不应依赖于它

用于Web包生成的get别名文件在生成时通过参数确定

下面是webpack配置中使用的解析示例

let moduleAliasingConfig = `./alias/${buildType}.json`

 // ....

resolve: {
    root: [
      path.resolve('.'),
      path.resolve('node_modules')
    ],
    alias: moduleAliasingConfig,
    extensions: ['', '.ts', '.js']
  },
以下是ts加载程序配置:

loaders: [
    {test: /\.ts$/, loaders: ['ts'], exclude: [/\.(spec|e2e)\.ts$/]}
]
我不确定我是否错过了一些配置,或者这是加载程序、Web包的解析器的问题,或者只是我对别名工作原理的理解

据我所知,该网页包将根据别名文件和我的入口点遍历我的导入/依赖关系树

其他环境信息:

package.json安装程序:

  • “ts加载器”:“^1.2.1”
  • “网页包”:“^1.13.0”
let moduleAliasingConfig = `./alias/${buildType}.json`

 // ....

resolve: {
    root: [
      path.resolve('.'),
      path.resolve('node_modules')
    ],
    alias: moduleAliasingConfig,
    extensions: ['', '.ts', '.js']
  },
loaders: [
    {test: /\.ts$/, loaders: ['ts'], exclude: [/\.(spec|e2e)\.ts$/]}
]