απαιτούν Webpack υπό όρους

ψήφοι
12

Γράφω ένα ισομορφικός Key Value Store με webpack.

Αυτή είναι σήμερα η προσέγγισή μου για να φορτώσει τις βιβλιοθήκες, η οποία προφανώς δεν λειτουργεί, γιατί webpack θέλει να επιλύσει τα δύο require. Τι η σωστή προσέγγιση;

var db = null;

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

Ξέρω, ότι μπορείτε να παρέχετε ένα στόχο να webpack. Αλλά δεν έχω καμία ιδέα για το πώς να το χρησιμοποιήσετε.

Ευχαριστώ!

Δημοσιεύθηκε 06/07/2015 στις 14:39
χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
13

Νομίζω ότι resolve.alias θα μπορούσε να λειτουργήσει για σας. Θα οριστεί dbμονάδα να επισημάνει levelή gazel, ανάλογα με τα οποία βασίζονται δημιουργείτε.

Απαντήθηκε 06/07/2015 στις 17:19
πηγή χρήστη

ψήφοι
8

webpack.config.js

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

σας-universal.js

var db = null;
if (!process.env.BROWSER) {
    // node context
    db = require('level');
} else {
    // browser context
    db = require('gazel');
}
Απαντήθηκε 22/04/2016 στις 00:51
πηγή χρήστη

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