5

我想设置我的项目,所以无论何时我使用下面的行:

import { BlahBlahService } from '@blahblah/core/BlahBlahService';

决定:

./dist/blahblah/core/BlahBlahService

我已经阅读了在线资源并应用了指示设置(我也包括在下面)。这在 Visual Studio Code 中工作;即它没有向我显示错误,因此它能够正确读取我在 tsconfig 中的设置并理解它。我想让同样的事情发生在 Webpack 上。

但是我收到以下错误:

./xxxxxxxxxxx.ts 中的错误找不到模块:错误:无法解析“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”中的“@blahblah/core/BlahBlahService”

我的 Web 应用程序中有以下设置:

  • 角 2 版本 2.2.0
  • 打字稿版本 2.0.8
  • Webpack 版本 2.1.0-beta.26
  • 真棒打字稿加载器版本 2.2.4

我的 tsconfig 中还有以下内容:

"compilerOptions": {

    ...

    "baseUrl": ".",
    "paths": {
       "@blahblah/core": ["./dist/blahblah/core"],
       "@blahblah/core/*": ["./dist/blahblah/core/*"],
    }

    ...

 }

我的 webpack.js 文件中有以下设置:

plugins: [

    ...

    new TsConfigPathsPlugin(),

    ...
],
4

2 回答 2

4

我目前正在使用webpack@3.10and webpack-dev-server@2.9.7
同样的问题。我在 github issue 中找到了解决方案。

tsconfig.js:

"compilerOptions": {

    ...

    "baseUrl": ".",
    "paths": {
        "~/*": ["./src"],
    }
}

webpack.config.js:

var TsConfigPathsPlugin = require('awesome-typescript-loader').TsConfigPathsPlugin;

resolve: {
    alias: {
        "~/": "./src"
    },
    plugins: [
        new TsConfigPathsPlugin()
    ]
}
于 2017-12-14T23:49:46.967 回答
1

我有同样的问题。它应该工作,但它不是。

我的解决方法是向 package.json 添加“浏览器”属性,其别名与 tsconfig 中的相同。

包.json

{
   "name": "app",
   ...
   "browser": {
      "@blahblah/core": ["./dist/blahblah/core"],
      "@blahblah/core/*": ["./dist/blahblah/core/*"]
   },
   "scripts": { ... },
   ...
}
于 2016-12-19T15:51:15.667 回答