Webpack bedingte erfordern

stimmen
12

Ich bin ein isomorph Key Value Store mit webpack zu schreiben.

Dies ist zur Zeit mein Ansatz , um die Bibliotheken zu laden, was natürlich nicht funktioniert, weil webpack beide lösen will require. Was ist der richtige Ansatz?

var db = null;

if (typeof window === 'undefined') {
    // node context
    db = require('level');
} else {
    // browser context
    db = require('gazel');
}

Ich weiß, dass Sie ein zur Verfügung stellen können Ziel zu webpack. Aber ich habe keine Ahnung , wie das verwenden.

Vielen Dank!

Veröffentlicht am 06/07/2015 um 14:39
vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
13

Ich denke , resolve.alias für Sie arbeiten würde. Sie würden eingestellt dbModul - zu - Punkt leveloder gazelje nachdem , welche bauen Sie erstellen.

Beantwortet am 06/07/2015 um 17:19
quelle vom benutzer

stimmen
8

webpack.config.js

module.exports = {
plugins: [
    new webpack.DefinePlugin({
        "process.env": {
            BROWSER: JSON.stringify(true)
        }
    })
]}

Ihr-universal.js

var db = null;
if (!process.env.BROWSER) {
    // node context
    db = require('level');
} else {
    // browser context
    db = require('gazel');
}
Beantwortet am 22/04/2016 um 00:51
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more