私はwebpackで同形のKeyValueストアを書いています。
これは現在、ライブラリをロードするための私のアプローチですが、webpackは両方のrequire
を解決したいので、明らかに機能しません。正しいアプローチは何ですか?
var db = null;
if (typeof window === 'undefined') {
// node context
db = require('level');
} else {
// browser context
db = require('gazel');
}
target をwebpackに提供できることは知っています。しかし、私はそれをどのように使用するのか分かりません。
ありがとう!
resolve.alias があなたのために働くと思います。作成するビルドに応じて、db
モジュールをlevel
またはgazel
を指すように設定します。
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');
}