- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于以下目录结构:
..src/frontend/...
..src/frontend/src/...
..src/frontend/config/webpack.common.js
..src/shared/src/models/User.ts
我已经使用 rootDirs 设置了我的 Typescript .这非常方便,因为我可以有一个用于前端和后端的共享文件夹。
这让我可以重写一个又长又丑的导入语句
import {User} from "../../../shared/src/models/User";
为此
import {User} from "../models/User";
这很好用,我的 TypeScript 服务很满意,能够解析所有模块等。问题出在 Webpack 上。
模块解析好像没有看tsconfig文件。所以去 Webpack 2 documentation .我为 resolve.modules 找到了以下内容。
Tell webpack what directories should be searched when resolving modules.
Absolute and relative paths can both be used, but be aware that they will behave a bit differently.
我试过配置模块:
modules: [helpers.root('src'), helpers.root('node_modules') , helpers.root( '../shared/src')]
这允许我使用导入语句:
import {User} from "models/User"; //Note the missing ../
但是现在 TypeScript 不再知道它是什么类型,因为它脱离了 rootDirs 配置。理想情况下,我希望 Webpack 和 Typescript 同步。如果我使用较长的相对导入路径,那么 webpack 和 typescript 都可以。
查看我的 gist我的配置文件。
使用“../models/User”时出现错误
ERROR in ./src/app/environment.ts Module not found: Error: Can't resolve '../models/User' in '.../src/frontend/src/app' @ ./src/app/environment.ts 4:0-38 @ ./src/main.browser.ts
最佳答案
您可以在 webpack 中使用“alias”属性,在 tsconfig.json 中使用“paths”属性。
在 tsconfig.json 中:
{
"compilerOptions": {
....
"baseUrl": ".",
"paths": {
"shared/*": "src/shared/src/*"
}
}
}
在 webpack.config.js 中:
module.exports = {
...
resolve: {
...
alias: {
"shared": path.resolve(__dirname, 'src/shared/src')
}
}
}
在您的 .ts 文件中,您可以像这样导入:
import {User} from "shared/models/User";
关于angular - 使用 Typescript rootDirs 的 Webpack 2 模块解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921543/
我收到了这个相当无意义的 tsc 编译错误: error TS6059: File '/Users/alex/codes/interos/teros-cli/src/logging.ts' is no
这是我第一次使用 sanity,我遇到了这个问题,在运行 expo start 时,如果你能帮助我,我将非常感谢 jest-haste-map: Haste module naming collisi
我们正在使用 Visual Studio 2017 并且有两个独立的 Web 项目,它们应该共享一些用 TypeScript 编写的 React 组件。还可以共享 JavaScript 文件和 CSS
我正在学习使用Hbase,并对hbase.rootdir的配置感到困惑。 namenode(active)在服务器hd1上。 namenode(standby)位于服务器hd2上。 问题是: 我必须配
我有一个 Angular CLI 工作区,其中包含两个库项目,foo 和 bar。当我构建两个库中的第二个库 foo 时,构建失败并出现以下错误: error TS6059: File '/code/
$rootDir/gradle目录用于什么(不是.gradle)?在构建期间,默认情况下是否从该目录中读取任何内容?是否有关于该目录中应包含哪些内容的约定? 最佳答案 好吧,gradle目录用于存储G
我有一个具有以下目录结构的项目: . .. core/start.py tests/test_curve.py pytest.ini pytest.ini的内容是: [pytest] testpath
我在 HDFS 上针对 hbase 表中存在的数据运行 map reduce 作业。当我在玩配置时,我观察到了这一点。 conf.set( "hbase.rootdir", "hdfs://" + h
我正在尝试使用如下所示的任务将文件复制到 rootDir... task copyFilesToProjectRoot(type: Copy) { from (fileTree(dir: *s
我在 public 下有一张图片文件夹。 如何在 symfony4 中获取我的图像目录? 在 symfony 3 中,它相当于: $webPath = $this->get('kernel')->ge
我有一个包含一些组件的大型仓库。 \my_repo |--modul1 |--modul2 |--modul3 |--modul4 |--modul5 |--modul6 ... 当我想使用使用另一个
我正在尝试将 TypeScript 与 React Native 结合使用。 这是我的tsconfig.json: { "compilerOptions": { "target
我看到 this问题,但它略有不同,没有答案 我有几个 git 子模块。它们是现有的大型项目,我认为我可以直接重用其中的部分,例如: myproject/ src/ submod1/src
我正在开发我的第一个 Angular 7 库,但是在尝试编译该库时出现此错误。 错误:错误 TS6059:文件 '...environment.ts' 不在 'rootDir' 'my-angular
在我的 Grails 项目中,我使用 elfinder 插件来管理文件和目录。我想要一个动态的根目录,因为我将插件用于不同的文件夹。 目录路径如下: grails.plugin.elfinder.ro
我正在尝试在我的 TypeScript 应用程序中导入 package.json: import packageJson from '../package.json'; 我的 tsconfig.jso
我需要在 Next.js 应用程序的上下文中合并 Cypress 覆盖率报告和 Jest 覆盖率报告。 Jest 会将文件列为 my-app/src/whatever。 Cypress 仅显示 src
tyescript 中的 rootDir 和 baseUrl 有什么区别? 根据 ts 文档 基本网址 Base directory to resolve non-relative module na
我遇到了一个错误,我需要你的帮助。感谢观看这个问题。 我的情况:我正在为我的项目配置 Drone CI 工具,当我运行 时我得到了这个在drone.yml 上进行单元测试 . Validation E
我正在尝试根据 apache 网站上的设置以伪分布式模式运行 HBase,但我无法正确配置 hbase.root 目录。 这是我的配置文件的样子: 在 Hadoop 目录中: conf/core-si
我是一名优秀的程序员,十分优秀!