0

我将 ngx-leaflet 与 webpack 4 一起使用,但在显示图层控制图像时遇到问题。默认标记图标显示得很好,因为我使用文件加载器从 'leaflet/dist/images/layers.png' 等导入图标名。该项目不使用 CLI 并使用独立的 webpack 4。如果我采用相同的代码并在 angular CLI 项目中使用它,则在遵循 Angular CLI Marker Workaround 部分中的资产配置后,图标会很好地显示。我错过了什么?我需要什么才能在不使用 CLI 的情况下显示此图标?我在开发人员工具中没有收到任何错误,并且似乎在网络流量中请求了 layers.png。

这是 webpack 配置:

"use strict";

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

var ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
var HappyPack = require('happypack');

module.exports = {
    mode: 'development',
    devtool: 'inline-source-map',
    entry:
            {
                polyfills: './src/polyfills.ts',                
                app: './src/main.ts'
            },
    output:
            {
                filename: '[name].js',
                chunkFilename: '[name]-chunk.js',
                publicPath: './dist/',
                path: path.resolve(__dirname, 'dist')
            },
    module: {
        rules: [              
              {
                  test: /\.html$/,
                  use: 'raw-loader'
              },
              {
                  test: /\.tsx?$/,
                  loaders: [
                            {
                                loader: 'cache-loader'
                            },
                            {
                                loader: 'happypack/loader'
                            },
                            {
                                loader: 'angular-router-loader'
                            }
                            ]
              },
              {
                  test: /\.(png|jpg|svg)$/,
                  use:
                  [
                      {
                          loader: 'file-loader',
                          options: 
                              {
                                  name: '[name].[ext]',
                                  outputPath: 'assets/'
                              }
                      }
                  ]
              }              
        ]
    },    
    plugins: [
                new webpack.ContextReplacementPlugin(/\@angular(\\|\/)core(\\|\/)esm5/, path.join(__dirname, './src')),
                new ForkTsCheckerWebpackPlugin({}),
                new HappyPack({
                    threads: 2,
                    loaders:
                        [
                            {
                                loader: 'ts-loader',
                                options: { transpileOnly: true, happyPackMode: true }
                            }
                        ]
                })        
    ]    
};
4

0 回答 0