如何将vue-autonumeric与webpack版本2捆绑在一起?

时间:2017-11-23 12:23:56

标签: javascript webpack vue.js

尝试将vue-autonumeric包与Webpack 2 捆绑在一起时,找不到AutoNumeric依赖项。

配置中存在别名,并且在使用webpack 3时效果很好,但是对于webpack 2和空白项目,它会失败并显示错误消息:

Hash: 470e79379d7394141898
Version: webpack 2.7.0
Time: 135ms
           Asset     Size  Chunks             Chunk Names
./dist/bundle.js  12.7 kB       0  [emitted]  main
   [0] ./~/vue-autonumeric/dist/vue-autonumeric.min.js 9.29 kB {0} [built]
   [1] ./src/vueAutonumericTest.js 120 bytes {0} [built]

ERROR in ./~/vue-autonumeric/dist/vue-autonumeric.min.js
Module not found: Error: Can't resolve 'AutoNumeric' in '/home/user/vueAutonum/node_modules/vue-autonumeric/dist'
 @ ./~/vue-autonumeric/dist/vue-autonumeric.min.js 1:82-104
 @ ./src/vueAutonumericTest.js

我尝试添加:

  resolve: {
    alias: {
      AutoNumeric: 'node_modules/autonumeric/dist/autoNumeric.min',
    },
  },

到webpack 2的webpack.config.js文件,但这不会像我期望的那样工作。

任何想法为什么以及如何使其适用于webpack版本3 2?

您可以在此Github issue中找到有关此问题的更多详细信息。

1 个答案:

答案 0 :(得分:0)

以下是vue-autoNumeric

的捆绑文件中的umd包装器
if(typeof exports === 'object' && typeof module === 'object')
    module.exports = factory(require("AutoNumeric"));
else if(typeof define === 'function' && define.amd)
    define("VueAutonumeric", ["AutoNumeric"], factory);
else if(typeof exports === 'object')
    exports["VueAutonumeric"] = factory(require("AutoNumeric"));
else
    root["VueAutonumeric"] = factory(root["AutoNumeric"]);

显然,vue-autoNumeric依赖于名为' AutoNumeric'的模块。

也许vue-autoNumeric会改变webpack配置或包依赖列表,如Issue Comment所述。

或者,您可以将autonumeric添加到依赖项列表中,webpack将能够找到丢失的模块。