aml*_*amm 6 javascript typescript webpack
我有一个非常简单的Webpack + TypeScript设置,正在尝试导入svgs。我正在使用svg-sprite-loader,如果require()我的svg如下所示,则效果很好:
require('./assets/alert.svg')
Run Code Online (Sandbox Code Playgroud)
-
但是,我更喜欢使用以下内容:
import alert from './assets/alert.svg'
Run Code Online (Sandbox Code Playgroud)
这样,我得到以下错误:
TS2307: Cannot find module './assets/alert.svg'.
Run Code Online (Sandbox Code Playgroud)
我custom.d.ts在项目根目录中有一个文件(阅读此文件后:https : //webpack.js.org/guides/typescript/#importing-other-assets)。看起来像这样:
declare module '*.svg' {
const content: any;
export default content;
}
Run Code Online (Sandbox Code Playgroud)
我的tsconfig样子是:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"lib": ["es6", "dom"]
},
"exclude": [
"**/*.spec.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
最后,我的webpack设置包括:
module: {
rules: [
{
test: /\.ts$/,
use: `awesome-typescript-loader`
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
test: /\.svg$/,
loader: 'svg-sprite-loader'
}
]
}
Run Code Online (Sandbox Code Playgroud)
我试图了解该custom.d.ts文件如何发挥作用。我需要添加一些东西tsconfig吗?
另外,对于版本,我使用的是:
| 归档时间: |
|
| 查看次数: |
2732 次 |
| 最近记录: |