javascript - webpack打包后图片路径出错
PHPz
PHPz 2017-04-11 10:57:41
[JavaScript讨论组]
loaders: [
    //小于8000KB的图片使用base64处理
    {
        test: /\.(jpg|png|gif)$/,
        loader:'url-loader?limit=8000&name=img/[name].[hash:8].[ext]'
    },

    {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
    }
]

plugins: [
    new HtmlWebpackPlugin({
        template: 'src/index.html',
        filename: 'index.html',
        hash: false
    }),
    new ExtractTextPlugin('css/[name].[hash:8].css')
]


如上配置,将把img图片打包到输出目录的img/ 中;把css图片打包到输出目录的css/ 中;
如果不使用ExtractTextPlugin将样式表单独输出,样式直接生成在页面上,
样式中的图片路径就是正确的如:url(img/a.jpg)。
可我现在的输出目录是这样的:
-dist
    +img
    +css
    +js
    index.html
    
样式表中的图片路径还是:url(img/a.jpg),我期望的是:url(../img/a.jpg);
请问需要怎么处理呢?

已解决,感谢@麦芽糖。
解决方法:
将上面的loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
增加个publicPath配置,如下:
loader: ExtractTextPlugin.extract('style-loader', 'css-loader',{
        publicPath: '../'
    })
PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHP中文网

ExtractTextPlugin有个 publicPath可以设置...,试试

阿神

你可以把引用的img和css目录平级放在一起就好了啊

PHPz

楼主解决了吗? 遇到同样的问题求方案。 多谢

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号