<small id='Kt1Dx'></small><noframes id='Kt1Dx'>

    <i id='Kt1Dx'><tr id='Kt1Dx'><dt id='Kt1Dx'><q id='Kt1Dx'><span id='Kt1Dx'><b id='Kt1Dx'><form id='Kt1Dx'><ins id='Kt1Dx'></ins><ul id='Kt1Dx'></ul><sub id='Kt1Dx'></sub></form><legend id='Kt1Dx'></legend><bdo id='Kt1Dx'><pre id='Kt1Dx'><center id='Kt1Dx'></center></pre></bdo></b><th id='Kt1Dx'></th></span></q></dt></tr></i><div id='Kt1Dx'><tfoot id='Kt1Dx'></tfoot><dl id='Kt1Dx'><fieldset id='Kt1Dx'></fieldset></dl></div>
    <legend id='Kt1Dx'><style id='Kt1Dx'><dir id='Kt1Dx'><q id='Kt1Dx'></q></dir></style></legend>

    <tfoot id='Kt1Dx'></tfoot>
      • <bdo id='Kt1Dx'></bdo><ul id='Kt1Dx'></ul>

      webpack - 需要('node_modules/leaflet/leaflet.css')

      时间:2023-08-08
      • <bdo id='QMOCv'></bdo><ul id='QMOCv'></ul>

          <i id='QMOCv'><tr id='QMOCv'><dt id='QMOCv'><q id='QMOCv'><span id='QMOCv'><b id='QMOCv'><form id='QMOCv'><ins id='QMOCv'></ins><ul id='QMOCv'></ul><sub id='QMOCv'></sub></form><legend id='QMOCv'></legend><bdo id='QMOCv'><pre id='QMOCv'><center id='QMOCv'></center></pre></bdo></b><th id='QMOCv'></th></span></q></dt></tr></i><div id='QMOCv'><tfoot id='QMOCv'></tfoot><dl id='QMOCv'><fieldset id='QMOCv'></fieldset></dl></div>
        1. <tfoot id='QMOCv'></tfoot>

              <legend id='QMOCv'><style id='QMOCv'><dir id='QMOCv'><q id='QMOCv'></q></dir></style></legend>
                <tbody id='QMOCv'></tbody>

              <small id='QMOCv'></small><noframes id='QMOCv'>

              1. 本文介绍了webpack - 需要('node_modules/leaflet/leaflet.css')的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                所以我正在尝试使用 webpackleaflet 构建地图应用程序.我可以从我的 map.js 文件中要求 leaflet.js,但我无法在不出错的情况下调用 leaflet.css.

                So I'm trying to build a map app using webpack and leaflet. I can require leaflet.js from my map.js file, but I can't call leaflet.css without getting an error.

                我当前的 webpack.config.js 看起来像:

                My current webpack.config.js looks like:

                'use strict'
                
                var webpack = require('webpack'),
                    path = require('path'),
                    HtmlWebpackPlugin = require('html-webpack-plugin'),
                    srcPath = path.join(__dirname, 'src');
                
                module.exports = {
                    target: "web",
                    cache: true,
                    entry: {
                        app: path.join(srcPath, "index.js")
                    },
                    resolve: {
                        alais: {
                            leaflet_css: __dirname + "/node_modules/leaflet/dist/leaflet.css"
                        }
                    },
                    module: {
                        loaders: [
                          {test: /.js?$/, exclude: /node_modules/, loader: "babel-loader"},
                          {test: /.scss?$/, exclude: /node_modules/, loader: "style!css!sass!"},
                          {test: /.css?$/, loader: "style!css!"}
                        ]
                    },
                    plugins: [
                        new webpack.optimize.CommonsChunkPlugin("common", "common.js"),
                        new HtmlWebpackPlugin({
                          inject: true,
                          template: "src/index.html"
                        }),
                        new webpack.NoErrorsPlugin()
                      ],
                    output: {
                        path: path.join(__dirname, "dist"),
                        publicPath: "/dist/",
                        filename: "[name].js",
                        pathInfo: true
                    }
                }
                

                我的 main.js 文件看起来像:

                And my main.js file looks like:

                var $ = require('jquery'),
                    leaflet = require('leaflet');
                
                require("./sass/main.scss");
                require("leaflet_css");
                
                var map = L.map('map').setView([51.505, -0.09], 13);
                
                L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
                    attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
                }).addTo(map);
                
                L.marker([51.5, -0.09]).addTo(map)
                    .bindPopup('A pretty CSS3 popup.<br> Easily customizable.')
                    .openPopup();
                
                console.log('I got called');
                

                通过 webpack 捆绑来自 3rd 方供应商的 css 文件的正确方法是什么?

                What is the correct approach of bundling css files from 3rd party suppliers via webpack?

                我看到 这个项目 是 leaflet 存放在 libs 目录中...这是什么原因,如果通过 npm 安装到 node_modules 目录中,为什么要存放在 libs 目录中?

                I saw this project were leaflet is stored in the libs directory... what's the reason for this, why store it in the libs directory if it is installed into the node_modules direcory via npm?

                这是一个非常重要的学习练习,因此非常感谢任何指针!:)

                This is very much a learning exercise so any pointers are greatly appreciated! :)

                推荐答案

                原来如此,答案是webpack的resolve.alias和文件加载器的组合.我的新 webpack 文件如下所示:

                So it turns out, the answer is a combination of webpack's resolve.alias and the file loader. My new webpack file looks like this:

                'use strict'
                
                var webpack = require('webpack'),
                    path = require('path'),
                    HtmlWebpackPlugin = require('html-webpack-plugin'),
                    srcPath = path.join(__dirname, 'src');
                
                module.exports = {
                    target: "web",
                    cache: true,
                    entry: {
                        app: path.join(srcPath, "index.js")
                    },
                    resolve: {
                        extensions: ['', '.html', '.js', '.json', '.scss', '.css'],
                        alias: {
                            leaflet_css: __dirname + "/node_modules/leaflet/dist/leaflet.css",
                            leaflet_marker: __dirname + "/node_modules/leaflet/dist/images/marker-icon.png",
                            leaflet_marker_2x: __dirname + "/node_modules/leaflet/dist/images/marker-icon-2x.png",
                            leaflet_marker_shadow: __dirname + "/node_modules/leaflet/dist/images/marker-shadow.png"
                        }
                    },
                    module: {
                        loaders: [
                          {test: /.js?$/, exclude: /node_modules/, loader: "babel-loader"},
                          {test: /.scss?$/, exclude: /node_modules/, loader: "style-loader!css-loader!sass-loader!"},
                          {test: /.css?$/, loader: "style-loader!css-loader!"},
                          {test: /.(png|jpg)$/, loader: "file-loader?name=images/[name].[ext]"}
                        ]
                    },
                    plugins: [
                        new webpack.optimize.CommonsChunkPlugin("common", "common.js"),
                        new HtmlWebpackPlugin({
                          inject: true,
                          template: "src/index.html"
                        }),
                        new webpack.NoErrorsPlugin()
                      ],
                    output: {
                        path: path.join(__dirname, "dist"),
                        publicPath: "/dist/",
                        filename: "[name].js",
                        pathInfo: true
                    }
                }
                

                然后我需要做的就是需要 .js 文件中的图标

                And then all I need to do is require the icons in the .js file

                require("./sass/main");
                require("leaflet_css");
                require("leaflet_marker");
                require("leaflet_marker_2x");
                require("leaflet_marker_shadow");
                

                可爱!!!:)

                这篇关于webpack - 需要('node_modules/leaflet/leaflet.css')的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                • <bdo id='7JJWG'></bdo><ul id='7JJWG'></ul>

                    <tfoot id='7JJWG'></tfoot>

                    <small id='7JJWG'></small><noframes id='7JJWG'>

                      • <i id='7JJWG'><tr id='7JJWG'><dt id='7JJWG'><q id='7JJWG'><span id='7JJWG'><b id='7JJWG'><form id='7JJWG'><ins id='7JJWG'></ins><ul id='7JJWG'></ul><sub id='7JJWG'></sub></form><legend id='7JJWG'></legend><bdo id='7JJWG'><pre id='7JJWG'><center id='7JJWG'></center></pre></bdo></b><th id='7JJWG'></th></span></q></dt></tr></i><div id='7JJWG'><tfoot id='7JJWG'></tfoot><dl id='7JJWG'><fieldset id='7JJWG'></fieldset></dl></div>
                        <legend id='7JJWG'><style id='7JJWG'><dir id='7JJWG'><q id='7JJWG'></q></dir></style></legend>
                          <tbody id='7JJWG'></tbody>