一个诡异的现象, 使用以下配置的 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 的值进行不同的操作。

Logo

智屏生态联盟致力于大屏生态发展,利用大屏快应用技术降低开发者开发、发布大屏应用门槛

更多推荐