2016-09-22 11 views
5

Immer wenn ich fügen Sie ein Image-Tag in HTML, und ich tue etwas wie folgt aus:Angular2 Bild zeigt nicht

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

Das Bild zeigt nicht. Stattdessen bekomme ich etwas, das zeigt empty image

Ich habe versucht, setzen <base href="/"> in meinem index.html Kopf, aber ich bekomme keine Änderungen. Was könnte die Ursache dafür sein? Was muss ich noch tun, damit dies funktioniert?

Ich habe auch versucht Bild-webpack-loader Installation Hier ist der Inhalt meiner 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

Klicken Sie auf F12 und sehen Sie, was die Konsolenausgabe in Ihrem Browser ist. –

Antwort

7

Sie erhalten nicht aus base href Umfang Datei, Sie sollte Ihre Vermögenswerte in src Verzeichnis verschieben und nach geben Sie zB ./resources es wird src/resources sein.

+0

Meine Ordnerstruktur Ich mag das 'src' enthält' app' und 'app' enthält' resources' Ordner und einen Ordner für jede einzelne Komponente. Es ist vom HTML-Layout einer Komponente, dass ich relative Layout verwende, um die IMG-Dateien zu verknüpfen, die im Ressourcenordner gespeichert sind. – akinmail

+0

Danke, das hat funktioniert. Ich verstehe jetzt, was 'base href' tut. Ziemlich peinlich. – akinmail