Webpack voorwaardelijke vereisen

stemmen
12

Ik ben een isomorfe Key Value Store met webpack schrijven.

Dit is op dit moment mijn benadering van de bibliotheken, die uiteraard niet werklast, omdat webpack wil beide op te lossen require. Wat is de juiste aanpak?

var db = null;

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

Ik weet, dat je kan bieden doel te webpack. Maar ik heb geen idee hoe dat te gebruiken.

Bedankt!

De vraag is gesteld op 06/07/2015 om 14:39
user
In andere talen...                            


2 antwoorden

stemmen
13

Ik denk dat resolve.alias zou werken voor je. Je zou het opzetten dbmodule om te wijzen op levelof gazelafhankelijk van de te bouwen dat u maakt.

antwoordde op 06/07/2015 om 17:19
bron van user

stemmen
8

webpack.config.js

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

your-universal.js

var db = null;
if (!process.env.BROWSER) {
    // node context
    db = require('level');
} else {
    // browser context
    db = require('gazel');
}
antwoordde op 22/04/2016 om 00:51
bron van user

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