ReferenceError:没有使用libraryTarget:umd定义进程

时间:2017-09-28 15:46:43

标签: webpack umd webpack-plugin

使用webpack.config.js

  devtool: false,
  entry: ['babel-polyfill', './src/index.js'],
  output: {
    path: join(__dirname, 'lib'),
    filename: '[name].js',
    library: 'mylib',
    libraryTarget: 'umd',
    umdNamedDefine: true,
    sourceMapFilename: `[name].js.map`,
  },
  ...
  new webpack.EnvironmentPlugin({
    NODE_ENV: 'development',
    POUCHDB_NAME: 'dbname'
  }),

当我尝试在浏览器中打开时(index.html)...

  

未捕获的ReferenceError:未定义进程       在对象。 (db.js:8)       at Object.defineProperty.value(main.js:12716)       at Object.crypto(main.js:12727)       在 webpack_require (bootstrap 2becb557cb7088856bca:19)       at Object.defineProperty.value(main.js:18506)       在对象。 (main.js:18519)       在 webpack_require (bootstrap 2becb557cb7088856bca:19)       at Object.defineProperty.value(_replacer.js:8)       在对象。 (_replacer.js:8)       在 webpack_require (bootstrap 2becb557cb7088856bca:19)

db.js我有..

const { POUCHDB_NAME = 'mydb' } = process.env;

1 个答案:

答案 0 :(得分:0)

尝试用DefinePlugin代替EnvironmentPlugin

new webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
            'process.env.POUCHDB_NAME': JSON.stringify(process.env.POUCHDB_NAME || 'mydb'),
        })