【发布时间】:2016-11-03 14:45:54
【问题描述】:
我们的项目使用 webpack resolve.root 选项来导入具有绝对路径的模块。 (避免类似../../../module)
在当前状态下,该项目正在使用 babel-loader,它工作得非常好。
我的任务是将应用程序迁移到 Angular 2。
因此,我目前正在过渡到 TypeScript。
不知何故,似乎 ts-loader 不能与 webpack 配置的 resolve.root 选项结合使用。
webpack.config.js 示例
resolve: {
root: [
path.resolve('./node_modules'),
path.resolve('./app'),
path.resolve('./app/lib'),
]
},
模块导入示例import AbstractListState from 'states/abstract_list_state';
states 目录位于app/lib 目录中。
执行webpack时出错
ERROR in ./app/mainViews/panel/panel.controller.ts
Module not found: Error: Cannot resolve module 'states/abstract_list_state' in C:\Users\...\Project\app\mainViews\panel
@ ./app/mainViews/panel/panel.controller.ts 4:28-65
【问题讨论】:
-
见:github.com/Microsoft/TypeScript/issues/5039。使用
tsconfig.json文件执行此操作的方法将在 TypeScript 2 中实现。显然,您今天已经可以使用typescript@next对其进行测试。
标签: javascript typescript ecmascript-6 webpack ts-loader