html5 - webpack打包js后,手机上报错:webpackJsonp is not defined
巴扎黑
巴扎黑 2017-04-17 14:27:14
0
3
964
在用MUI和Hbuilder做一个app时,开发中用webpack打包,刚开始没有用CommonsChunkPlugin提取common.js,今天用CommonsChunkPlugin提取出common.js之后,浏览器正常,但手机上测试就报错。
  • 浏览器没有问题,

  • 手机上运行报错: Uncaught ReferenceError: webpackJsonp is not defined

网上说是common.js没有加载,但是为什么浏览器和手机上测试会有区别,该如何解决?

  • 页面引入js如下:

        ...
        <script src="../dist/common.js"></script>
        <script src="../dist/attention.bundle.js"></script>
  • webpack.config.js

var webpack=require('webpack');
var vue=require('vue-loader');
var path = require('path');
var devServer=require("webpack-dev-server");


module.exports={
    //页面入口文件配置
    entry:{
        newsList:"./js/news/list_entry.js",//新闻
        newsPage:"./js/news/page_entry.js",//新闻详情页
        weather:"./js/weather/weather_entry.js",//天气
        monitor:"./js/monitor/monitor_entry.js",//监测
        attention:"./js/attention/att_entry.js"
    },
    output:{
        path:"dist",
        filename:"[name].bundle.js",
        publicPath: "/"
    },
    watch: true,
     resolve: {
          extensions: ['', '.js', '.vue'],
          alias: {
            components: path.join(__dirname, './src/components')
        }
      },
    plugins:[
        new webpack.optimize.CommonsChunkPlugin("common.js",["monitor","attention"])
    ],

    module:{        
        loaders:[
        {test:/\.css$/,loader:'style!css!'},
        {test:/\.scss/,loader:'style!css!sass'},
        {test: /\.(jpg|png)$/, loader: "url?limit=8192&name=../[path]/[name].[ext]"},

    
        ]
    }
}
巴扎黑
巴扎黑

全部回覆(3)
Peter_Zhu

webpack設定檔中的 CommonsChunkPlugin 設定貼出來看看。應該是少了webpack的啟動檔。

如果配置是大致下面的形式:

  ...
  new webpack.optimize.CommonsChunkPlugin(
        {names: ["common", "webpackAssets"]}
  ),
  ...

那麼頁面中還需要將‘webpackAssets’(名稱不固定)文件引入頁面中,而這個文件一定要放在其他js前引用!

迷茫

你先別管PC瀏覽器怎樣,就用手機來調試,確定一下common.js到底加載了沒有,然後再說下一步。

黄舟

你可以在你引入的每個js中第一行都彈出一句話來確定是不是所有js全部加載了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!