Webpack app.js не работает на мобильном телефоне - PullRequest
0 голосов
/ 03 мая 2018

Используя Webpack, я получаю выходной файл с именем app.js. Файл app.js отлично работает на компьютере и мобильном телефоне. Но на мобильных телефонах с версией Android ниже 5 app.js вообще не работает. Даже файл Bootstrap js, который находится в app.js, не работает. Там есть некоторый код es6, поэтому я конвертирую их в es5 для работы на всех устройствах. Интересно, в чем проблема?

Вот мой конфиг веб-пакета:

var path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const autoprefixer = require('autoprefixer');


module.exports = {
   mode: 'production',
   entry: {
      app: [
         './resources/js/index.js'
      ]
   },

   output: {
      path: path.resolve(__dirname, 'app/assets/js'),
      filename: 'app.js'
   },

   module: {
      rules: [
         {
            test: /\.js$/,
            exclude: /node_modules/,
            use: {
               loader: "babel-loader?presets[]=es2015"
            }
         },
         {
            test: /\.scss$/,
            use: ExtractTextPlugin.extract({
               fallback: 'style-loader',
               use: [
                  {
                     loader: 'css-loader'
                  }, 
                  {
                     loader: 'postcss-loader',  
                     options: {
                        plugins: [
                           autoprefixer({
                              browsers:['ie >= 8', 'last 4 version']
                           })
                        ],
                        sourceMap: true
                     }
                  },
                  {
                     loader: 'sass-loader'
                  }
               ]
            })
         }
      ]
   },


   plugins: [
      new ExtractTextPlugin({ filename: '../css/main.css' }),
      new webpack.ProvidePlugin({ 
         $: 'jquery',
         jQuery: 'jquery',
         'window.jQuery': 'jquery',
         Popper: 'popper.js',
         WOW: 'wow.js'
      })
   ],

};

1 Ответ

0 голосов
/ 03 мая 2018

Веб-пакет на самом деле является инструментом сборки. Что делает, так это то, что код, написанный на ES6, передается на ES5, что понимает большинство браузеров. Одна вещь, которую вы должны проверить, это проверить, не поместили ли вы какой-либо код JavaScript, который не совместим с более старыми браузерами. Потому что, поскольку вы видите ваши изменения на рабочем столе, это означает, что ваш пакет исправен, но есть проблемы с совместимостью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...