Webpack скомпилированный JavaScript не работает на Android в режиме разработки - PullRequest
0 голосов
/ 24 января 2019

Когда я компилирую свой javascript с Webpack в режиме development , он не работает на устройствах Android , в то время как везде работает нормально. Когда я компилирую его в режиме production , он работает и на Android . Кто-нибудь может сказать, почему это? Было бы больше смысла, если что-то сломалось из-за минимизации, но мне кажется настолько странным, что улучшенный код не работает, пока минимизированный код работает.

обновление: под словом «это не работает» я подразумеваю, что ни одна строка кода не выполняется. Ни одного "console.log ()", "alert ()" или чего-либо еще. Я не получаю никаких ошибок, так как везде работает нормально, но на Android. Я использую testbot.com для тестирования на Android, поэтому у меня нет консоли отладки, что делает меня очень слепым. Я также пытался свести весь код и зависимости только к jquery, но даже в этом случае ничего не работает на Android, когда код компилируется в режиме разработки.

Мой конфигурационный файл:

module.exports = {
   entry: entry,
   output: {
    path: path.resolve(__dirname+'/public/dist', 'js'),
    filename: '[name]-min.js'
  },
  mode:'production',
  optimization:{
    minimizer:minimizer
  },
  plugins: plugins,
  module:{
    rules: rules
  },
}

Объект минимизатора:

module.exports = [
  new TerserPlugin(),
  new OptimizeCssAssetsPlugin({})
]

Плагины:

module.exports = [
  new webpack.ProvidePlugin({
    $: "jquery",
    jQuery: "jquery",
    jquery: "jquery",
    "window.jQuery": "jquery",
    "window.$": "jquery",
    swal: "sweetalert2/dist/sweetalert2.js"
  }),
  new MiniCssExtractPlugin({
    filename: "../css/[name].css",
    chunkFilename: "[id].css"
  }),
  new WriteToFilePlugin({
    filename: path.resolve(__dirname + '/../../src', 'assetVersion.js'),
    data: 'module.exports = ' + Number(assetVersion + 1)
  }),
  new HardSourceWebpackPlugin(),
]

Правила:

module.exports = [{
    test: /\.(sa|sc|c)ss$/,
    use: [
      { loader: MiniCssExtractPlugin.loader },
      { loader: 'css-loader' },
      {
        loader: 'postcss-loader', // Run postcss actions
        options: {
          plugins: function() { // postcss plugins, can be exported to postcss.config.js
            return [
              require('autoprefixer')
            ];
          }
        }
      },
      { loader: 'sass-loader' },
    ],
  },
  {
    test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
    use: [{
      loader: 'file-loader',
      options: {
        name: '[name].[ext]',
        outputPath: '../../fonts/',
        publicPath: '/fonts'
      }
    }]
  },
  {
    test: /\.m?js$/,
    exclude: /(node_modules|bower_components)/,
    use: {
      loader: 'babel-loader',
      options: {
        presets: ['@babel/preset-env'],
        plugins: ['transform-es2015-arrow-functions']
      }
    }
  }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...