如何从服务器vue包中排除模块

时间:2018-03-27 07:03:17

标签: webpack vue-loader

我想在我的vue单个文件组件中使用velocity-animate,但我无法弄清楚如何配置webpack来调用它上面的null-loader。似乎一旦vue-loader控制了任何*.vue文件,就不会触发任何其他加载器。

我可以使用的唯一解决方案是包含在process.env.VUE_ENV定义变量中的动态需求,例如

let velocityAnimate = 'not here'
if (process.env.VUE_ENV === 'client') {
  velocityAnimate = require('velocity-animate')
}

虽然我更喜欢配置的方法所以我可以

import velocityAnimate from 'velocityAnimate'

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我做了另一次尝试,并使用string-replace-loader

进入了一个稍微hacky 1 的解决方案
{
    test: /\.js$/,
    loader: 'string-replace-loader',
    options: {
      search: "import animate from 'velocity-animate'\n",
      replace: '',
    },
}

1 Hacky因为它没有解析ast。你可以很容易地添加一个装载机 - 虽然概念保持不变。