javascript - Webpack resolve.alias tidak berfungsi dengan typescript?
我想大声告诉你
我想大声告诉你 2017-07-05 10:36:58
0
2
1119

Persekitaran:

- node v6.9.2
- typescript v2.4.1
- webpack v1.15.0
- awesome-typescript-loader v3.2.1

Soalan:

Ralat dilaporkan dalam Modul tsx tidak ditemui 'alat'...

import { toFieldValue } from '@utils/tools';

  • Tambah resolve.alias dalam konfigurasi webpack

resolve : {
    alias: { 
        // 这里配置没有问题, jsx中可以正常使用
         "@utils": "./src/utils"
    }
}
  • Dirujuk dalam jsx (boleh guna)

import { toFieldValue } from '@utils/tools'

konfigurasi tsx

{
  "compilerOptions": {
    "outDir": "./dist/",
    "module": "commonjs",
    "target": "es6",
    "sourceMap": true,
    "allowSyntheticDefaultImports": true,
    "jsx": "react",
    "pretty": true,
    "noImplicitAny": true,
    "traceResolution": true,
    "baseUrl": ".",
    "paths": {
      "@utils/*": ["./src/utils/*"]
    },
    "lib": [
      "dom",
      "es2015.promise",
      "es5",
      "es2015.iterable",
      "es2015.generator",
      "es2015.symbol",
      "es7"]
  },
  "include": [
    "./src/**/*"
  ],
  "exclude": [
    "node_modules"
  ],
  "awesomeTypescriptLoaderOptions": {
    "useBabel": true,
    "useCache": true
  }
}
  • Webpack menambah konfigurasi (webpackConfig ialah konfigurasi webpack)

      webpackConfig.resolve.plugins = [(new TsConfigPathsPlugin({
        configFileName: "tsconfig.json",
        compiler: "typescript",
      }))];
    
我想大声告诉你
我想大声告诉你

membalas semua(2)
習慣沉默

Sepatutnya boleh menggunakan alias. Pengarang boleh merujuk kepada projek templat react-typescript saya, https://github.com/devlee/tpl...

Ini tidak berfungsi untuk poster Sebabnya ialah laluan dalam tsconfig harus menjadi laluan, bukan fail sumber secara langsung

过去多啦不再A梦

Diselesaikan~
tool.js mesti mengisytiharkan fail tool.d.ts yang sepadan.
Mabuk, mabuk~~~

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan