首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过webpack 2在src包含{{}}的html中加载图像?

如何通过webpack 2在src包含{{}}的html中加载图像?
EN

Stack Overflow用户
提问于 2017-11-13 16:55:48
回答 2查看 339关注 0票数 0

我使用html加载器在html中加载img,当img的src是invariable.as<img src='../example.png'>时,它工作得很好。但是当我这样写的时候:<img src="../../../assets/images/device_{{key.deviceName}}.png">,它将是错误:Can't resolve '../../../assets/images/device_{{key.deviceName}}.png' in '/Users/zhangxu/Desktop/LicenseServer/angular/src/app/components/home'。这是我的webpack.config.js:

代码语言:javascript
复制
module: {
        rules: [
            {
                test: /\.ts$/,
                loaders:['awesome-typescript-loader', 'angular2-template-loader']
            },
            {
                test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
                loader: 'file-loader?name=assets/[name].[hash].[ext]',
            },

            {
                test:/\.html$/,
                loader: 'html-loader',
                exclude: helper.root('src','index.html')

            },

            {
                test: /\.css$/,
                exclude: helper.root('src', 'app'),
                loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'css-loader?sourceMap' })
            },
            {
                test:/\.css$/,
                include: helper.root('src', 'app'),
                loader:'raw-loader' 
                                    
            },
            {
                test: /\.scss$/,
                loaders: ['style', 'css', 'postcss', 'sass']
            }
        ],

    },

这是我的HTML:

代码语言:javascript
复制
<div *ngFor="let key of devices;let i = index;">
       <div class="device" *ngIf="key.selected && !key.out_select" (click)="cancelSelectDevice(i)">
         <img src="../../../assets/images/device_{{key.deviceName}}.png" width="75">
             
        </div>

</div>

如何解决这个错误?谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2017-11-13 19:47:21

这里的问题是webpack只为您打包了这些文件,以便在构建过程中解决这些问题。但是您的图像路径是在运行时计算的,所以webpack不知道您需要什么图像/图像。

一种肮脏的方法是导入javascript文件中的每个图像。当你这样做的时候,webpack有机会知道你在编译时想要什么图像。

更干净的方法可能是将这些图像放在一个资产文件夹中,并让您的let服务器为这个文件夹服务。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47269598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档