webpack - require('node_modules/leaflet/leaflet.css')
So, ich bin versucht, eine Karte zu erstellen-app mit webpack
und leaflet
. Kann ich verlangen leaflet.js
aus meiner map.js
Datei, aber ich kann Sie nicht anrufen-Prospekt.css ohne Fehler abrufen.
Meine aktuelle webpack.config.js
aussieht:
'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
}
}
Und meine main.js
- Datei sieht wie folgt aus:
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: '© <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');
Was ist der richtige Ansatz, die Bündelung der css-Dateien von 3rd-party-Anbieter via webpack?
Sah ich dieses Projekt wurden leaflet
gespeichert ist, in das libs-Verzeichnis... was ist der Grund dafür, warum lagern Sie es in den libs
- Verzeichnis, wenn es installiert ist, in der node_modules
direcory über npm
?
Dies ist sehr viel ein lernen üben, damit jegliche Hinweise sind wir sehr dankbar! 🙂
Diese Frage wurde weiter oben geschrieben - Ihr Beispiel ist ein Duplikat. Leider habe ich nicht genügend Zugang, um es als solche.
InformationsquelleAutor hloughrey | 2015-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
So stellt es sich heraus, die Antwort ist eine Kombination von webpack zu lösen.alias und die Datei loader. Meine neue webpack-Datei sieht wie folgt aus:
Und dann alles, was ich zu tun ist, erfordern die Symbole in der .js-Datei
Schön!!! 🙂
Ohne die Aliase können Sie auch
require("leaflet/dist/images/marker-shadow.png")
etc.InformationsquelleAutor hloughrey
Habe ich es geschafft leichter. Brauchte nur hinzufügen Lader für css und png
InformationsquelleAutor fofipl