define

  • Type: object
  • Default: {}

用于提供给代码中可用的变量。

比如:

  1. export default {
  2. define: {
  3. FOO: 'bar',
  4. }
  5. }

然后你写 console.log(hello, FOO); 会被编译成 console.log(hello, 'bar')

注意:

  • define 对象的属性值会经过一次 JSON.stringify 转换

内置的 define 属性,

  • process.env.NODE_ENV,值为 developmentproduction

如果你有一些不想在生成环境运行的代码,比如断言判断,可以这样,

  1. if (process.env.NODE_ENV === 'development') {
  2. assert(foo === bar, 'foo is not equal to bar');
  3. }

dev 时正常运行,build 后会变成为,

  1. if (false) {
  2. assert(foo === bar, 'foo is not equal to bar');
  3. }

进而被压缩掉,不输出在生成环境的代码中。