Weex 编译单个 Vue 文件的 Webpack 配置

更新日期: 2017-07-28 阅读次数: 4379 分类: weex

一个诡异的现象, 使用以下配置的 webpack 打包的 weex 文件,在 Android 里一直转菊花,而且 Android Monitor 里没有有效的报错信息

var testConfig =  {
    entry: {
      // 'test_b': path.resolve('src/views', 'test_b.vue?entry=true'),
      'test_b': path.resolve('src/views', 'test_b.vue'),
    },
    output: {
      path: path.resolve(__dirname, 'dist'),
        filename: 'test_b.weex.js'
    },
    module: {
      rules: [
        {
          test: /\.js$/,
          loader: 'babel-loader',
          exclude: /node_modules/
        }, {
          test: /\.vue(\?[^?]+)?$/,
          loaders: ['weex-loader']
        }
      ]
    },
    plugins: [
      // new webpack.optimize.UglifyJsPlugin({compress: { warnings: false }}),
      bannerPlugin
    ]
}

对比了 Github 上 Weex 的 Apache 项目的 webpack 配置,发现我少了 entry=true 的配置。 在 VUE 文件名后面缀上 entry=true 之后,编译之后的文件就能够正常运行了。

这是为什么呢?

使用 vimdiff 对比加了 entry=true 前后的 bundle 文件,发现文件增加了两行

module.exports.el = 'true'    
new Vue(module.exports) 

查看 weex-loader 的源码中的 loader.js 文件,发现的确会根据 entry 的值进行不同的操作。

爱评论不评论

近期节日

2019年04月01日 愚人节
2019年04月01日 复活节
2019年04月02日 国际儿童图书日
2019年04月04日 寒食节
2019年04月05日 清明节
2019年04月07日 世界卫生日
2019年04月11日 世界帕金森病日
2019年04月20日 谷雨
2019年04月22日 世界地球日
2019年04月23日 世界读书日
2019年04月26日 知识产权日
2019年04月30日 全国交通安全反思日
查看更多节日