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'
{
"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",
}))];
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
Diselesaikan~
tool.js mesti mengisytiharkan fail tool.d.ts yang sepadan.
Mabuk, mabuk~~~