Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript laravel mix polyfill需要巴贝尔不处理的语句_Javascript_Ecmascript 6_Babeljs_Polyfills_Laravel Mix - Fatal编程技术网

Javascript laravel mix polyfill需要巴贝尔不处理的语句

Javascript laravel mix polyfill需要巴贝尔不处理的语句,javascript,ecmascript-6,babeljs,polyfills,laravel-mix,Javascript,Ecmascript 6,Babeljs,Polyfills,Laravel Mix,我对根据我的浏览器列表所需的所有核心js包的laravel mix polyfill包插入require语句有问题,但它们不是由babel处理的,并显示在编译的es5代码中,在浏览器中抛出错误 编译后的代码如下所示: "use strict"; require("core-js/modules/es.symbol"); // a lot more requires omitted... require("core-js/modules/web.url.to-json"); functio

我对根据我的
浏览器列表所需的所有
核心js
包的laravel mix polyfill包插入
require
语句有问题,但它们不是由babel处理的,并显示在编译的es5代码中,在浏览器中抛出错误

编译后的代码如下所示:

"use strict";

require("core-js/modules/es.symbol");

// a lot more requires omitted...

require("core-js/modules/web.url.to-json");

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

/******/
(function (modules) {
  // webpackBootstrap

// etc...
这会在浏览器中引发以下错误:

coffeescript:3未捕获引用错误:未定义require

感觉事情是按错误的顺序发生的,因为babel在我的代码中处理import和require语句没有问题,但是插入的require语句(根据,应该作为导入插入,但不确定是否相关)在传输时被babel忽略

复制步骤:
  • Laravel混合版本:4.1.4
  • 节点版本:v12.10.0
  • NPM版本:6.10.3
  • OS:macOS Mojave 10.14.6(18G84)
package.json

{
  "name": "laravel-mix-test",
  "version": "1.0.0",
  "scripts": {
    "dev": "yarn run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "yarn run development --watch",
    "prod": "yarn run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
  "devDependencies": {
    "@babel/core": "^7.6.0",
    "@babel/plugin-transform-runtime": "^7.6.0",
    "@babel/preset-env": "^7.6.0",
    "babel-loader": "^8.0.6",
    "core-js": "^3.2.1",
    "cross-env": "^5.2.1",
    "css-loader": "^3.2.0",
    "laravel-mix": "^4.1.4",
    "laravel-mix-polyfill": "^1.1.0",
    "sass": "^1.22.12",
    "sass-loader": "^7.3.1",
    "vue-template-compiler": "^2.6.10",
    "webpack": "^4.40.2",
    "webpack-cli": "^3.3.9"
  }
}
webpack.mix.js

let mix = require('laravel-mix');

require('laravel-mix-polyfill');

mix.options({
        processCssUrls: false,
        uglify: false
    })
    .polyfill({
        enabled: true,
        useBuiltIns: "usage",
        targets: "> 0.05%, not ie < 10, safari >= 8",
        corejs: 3
    })
    .js('src/js/app.js', 'public/js/app.js')
    .babel('public/js/app.js', 'public/js/app.js')
    .sass('src/scss/style.scss', 'public/css/style.css')
    .copyDirectory('src/fonts', 'public/fonts')
    .copyDirectory('src/images', 'public/images')
    .disableNotifications();
let mix=require('laravel-mix');
要求(“laravel-mix-polyfill”);
混合选项({
processCssUrls:false,
丑:错
})
.polyfill({
启用:对,
useBuiltIns:“用法”,
目标:“>0.05%,而不是ie<10,safari>=8”,
corejs:3
})
.js('src/js/app.js','public/js/app.js')
.babel('public/js/app.js','public/js/app.js')
.sass('src/scss/style.scss','public/css/style.css')
.copyDirectory('src/fonts','public/fonts')
.copyDirectory('src/images','public/images')
.disableNotifications();
还有其他人经历过这个问题吗


非常感谢您的帮助

发生这种情况是因为您使用
“用法”
作为
useBuiltIns
的值。 在这种情况下,
polyfill
模块将自动添加,如您所见。但当您使用
laravelmix
文件顶部时,导入模块的位置是错误的

按说明使用
“条目”