2016-09-22 37 views
5

每当我在HTML中添加图像标记和我做这样的事情:Angular2图像不显示

<img src="../resources/img/myimg.png"> 

图像不显示。相反,我得到这样的东西 empty image

我已经尝试把<base href="/">在我的index.html头,但我没有得到任何更改。 这可能是什么原因? 我还需要做些什么来完成这项工作?

我也尝试安装图像的WebPack装载机 这里是我的webpack.config.js的内容文件

var webpack = require('webpack'); 
 
var path = require('path'); 
 

 

 
// Webpack Config 
 
var webpackConfig = { 
 
    entry: { 
 
    'polyfills': './src/polyfills.browser.ts', 
 
    'vendor': './src/vendor.browser.ts', 
 
    'main':  './src/main.browser.ts', 
 
    }, 
 

 
    output: { 
 
    path: __dirname + '/dist', 
 
    }, 
 

 
    plugins: [ 
 
    new webpack.optimize.OccurenceOrderPlugin(true), 
 
    new webpack.optimize.CommonsChunkPlugin({ name: ['main', 'vendor', 'polyfills'], minChunks: Infinity }), 
 
    ], 
 

 
    module: { 
 
    loaders: [ 
 
     // .ts files for TypeScript 
 
     { test: /\.ts$/, loaders: ['awesome-typescript-loader', 'angular2-template-loader'] }, 
 
     { test: /\.css$/, loaders: ['to-string-loader', 'css-loader'] }, 
 
     { test: /\.html$/, loader: 'raw-loader' }, 
 
     { 
 
    test: /.*\.(gif|png|jpe?g|svg)$/i, 
 
    loaders: [ 
 
     'file?hash=sha512&digest=hex&name=[hash].[ext]', 
 
     'image-webpack?{progressive:true, optimizationLevel: 7, interlaced: false, pngquant:{quality: "65-90", speed: 4}}' 
 
    ] 
 
    } 
 
    ] 
 
    } 
 

 
}; 
 

 

 
// Our Webpack Defaults 
 
var defaultConfig = { 
 
    devtool: 'cheap-module-source-map', 
 
    cache: true, 
 
    debug: true, 
 
    output: { 
 
    filename: '[name].bundle.js', 
 
    sourceMapFilename: '[name].map', 
 
    chunkFilename: '[id].chunk.js' 
 
    }, 
 

 
    resolve: { 
 
    root: [ path.join(__dirname, 'src') ], 
 
    extensions: ['', '.ts', '.js'] 
 
    }, 
 

 
    devServer: { 
 
    historyApiFallback: true, 
 
    watchOptions: { aggregateTimeout: 300, poll: 1000 } 
 
    }, 
 

 
    node: { 
 
    global: 1, 
 
    crypto: 'empty', 
 
    module: 0, 
 
    Buffer: 0, 
 
    clearImmediate: 0, 
 
    setImmediate: 0 
 
    } 
 
}; 
 

 
var webpackMerge = require('webpack-merge'); 
 
module.exports = webpackMerge(defaultConfig, webpackConfig);

+0

单击F12并查看控制台输出在浏览器中的内容。 –

回答

7

你不能摆脱base href范围,你应该将您的资产移动到src目录中,并在给出路径后,例如./resources它将是src/resources

+0

我喜欢这个'src'的文件夹结构包含'app','app'包含'resources'文件夹和每个单独组件的文件夹。它是从一个组件的HTML布局中,我使用相对布局来链接存储在资源文件夹内的img文件。 – akinmail

+0

感谢这工作。我现在明白'base href'的作用了。虽然很令人尴尬。 – akinmail