Webpack解决.root和TypeScript加载器
Webpack resolve.root and TypeScript loader
我们的项目使用webpack resolve.root
选项导入带有绝对路径的模块。(避免../../../module
之类的东西)
在它的当前状态下,项目正在使用babel-loader,它工作得很好。我的任务是把应用迁移到Angular 2。
因此,我目前正在向TypeScript过渡。
不知怎的,似乎ts-loader不能与webpack配置的resolve.root
选项结合使用。
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
2.0版本前的TypeScript会尝试用node_modules
目录中的绝对路径来加载模块。这是因为TypeScript的模块结果默认设置为"node"。这意味着它像node的require方法一样工作。所以,即使你使用webpack来构建你的应用,TypeScript(和它的编译器)仍然会想要加载这些文件。
为了让webpack以绝对路径导入你的模块,你必须返回并使用require
方法。这样TypeScript就可以让webpack导入内容。但是当然你不会得到任何类型推断,自动完成,…
或者,你可以升级到TypeScript 2.0测试版,试试这个:https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#module-resolution-enhancements-baseurl-path-mapping-rootdirs-and-tracing
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 使用requirejs对延迟加载成员模块进行Typescript
- 使用TypeScript和Promises异步加载/卸载内容
- 使用 Ionic2 和 Angular2 Typescript 将侧边菜单加载到 DOM 中
- 使用 Webpack + Typescript 加载 AmCharts
- 以typescript加载html文件
- 用requireJS加载一些typescript模块
- RequireJS没有使用karma和typescript正确加载模块
- Typescript加载模块通过AMD失败
- 如何在Typescript中扩展动态加载的类
- 如何让Typescript 2加载node_modules中的所有定义文件
- Typescript需要导出的类尚未加载
- 在typescript项目中加载npm模块
- 如何使用gulluglify加载angular 2中的缩小文件?(缩小了TYpescript绑定文件)
- 如何使用 TypeScript 加载 System.js 模块
- ASP.NET MVC4 显示模式不加载 TypeScript 输出
- Webpack解决.root和TypeScript加载器
- Typescript——加载一个不导出的模块
- 让TypeScript知道被加载的对象