Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Webpack 再生器运行时间未定义为Gulp#x2B;网页包+;巴别塔_Webpack_Babeljs_Ecmascript 2016 - Fatal编程技术网

Webpack 再生器运行时间未定义为Gulp#x2B;网页包+;巴别塔

Webpack 再生器运行时间未定义为Gulp#x2B;网页包+;巴别塔,webpack,babeljs,ecmascript-2016,Webpack,Babeljs,Ecmascript 2016,我试图将ES7“异步等待函数”与bable 7+webpack+gulp一起使用,但出现以下错误:未定义regeneratorRuntime 我找到了几个解决方案,但都不起作用:我尝试了core js和@babel/plugin transform runtime,甚至babel polyfill,根据babel docs的说法,babel polyfill是不推荐的,但无法解决这个错误 以下是我的最新配置文件: package.json "devDependencies": {

我试图将ES7“异步等待函数”与bable 7+webpack+gulp一起使用,但出现以下错误:未定义regeneratorRuntime

我找到了几个解决方案,但都不起作用:我尝试了core js和@babel/plugin transform runtime,甚至babel polyfill,根据babel docs的说法,babel polyfill是不推荐的,但无法解决这个错误

以下是我的最新配置文件:

package.json

        "devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/plugin-transform-runtime": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "@babel/runtime": "^7.10.2",
    "autoprefixer": "^9.8.0",
    "babel-loader": "^8.1.0",
    "browser-sync": "^2.26.7",
    "core-js": "^3.6.5",
    "gulp": "^4.0.2",
    "gulp-cli": "^2.2.1",
    "gulp-postcss": "^8.0.0",
    "postcss-color-function": "^4.1.0",
    "postcss-hexrgba": "^1.0.2",
    "postcss-import": "^12.0.1",
    "postcss-mixins": "^6.2.2",
    "postcss-nested": "^4.1.2",
    "postcss-simple-vars": "^5.0.2",
    "webpack": "^4.39.1",
    "webpack-cli": "^3.3.6"
  },
  "dependencies": {
    "jquery": "^3.4.1",
    "normalize.css": "^8.0.1",
    "slick-carousel": "^1.8.1"
  }
{
  "name": "babel-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "webpack": "webpack --config webpack.config.js --color"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/plugin-transform-runtime": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "babel-loader": "^8.1.0",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11"
  }
}
webpack.config.js

const path = require('path'),
settings = require('./settings');

module.exports = {
  entry: {
    App: settings.themeLocation + "js/scripts.js"
  },
  output: {
    path: path.resolve(__dirname, settings.themeLocation + "js"),
    filename: "scripts-bundled.js"
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env',
            {
              "useBuiltIns": "usage"
            }],
            plugins: ['@babel/plugin-transform-runtime']
          }
        }
      }
    ]
  },
  mode: 'development'
}
const path = require('path');
module.exports = {
    mode: 'development',
    entry: {
        index: './index.js'
    },
    output: {
        path: path.resolve(__dirname, 'public'),
        filename: 'bundle.js',
    },
    module: {
        rules: [
            {
                test: /\.m?js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env'],
                        plugins: [
                            ["@babel/plugin-transform-runtime", { "regenerator": true }
                            ]
                        ]
                    }
                }
            }
        ]
    }
}
JavaScript代码:

class Search {
    constructor() {
        this.openButton = document.querySelector("#open-button");
        this.closeButton = document.querySelector("#search-overlay-close");
        this.searchOverlay = document.querySelector("#search-overlay");
        this.searchField = document.querySelector("#search-term");
        this.resultsDiv = document.querySelector("#search-overlay__results");
    }

[...] 


    getResults() {
        async function searchResults() {
            try {            
                let postsResponse = await fetch(`http://localhost:3000/wp-json/v2/posts?search=${this.searchField.value}`);
                let posts = await postsResponse.json();
                console.log(posts);                                
            }
            catch (err) {
                this.resultsDiv.innerHTML = "Oops! an error occurred, please, try again later";
                console.log(err);
            }            
        }

        searchResults();


        this.resultsDiv.innerHTML = "Search results will go here";
    }
}

export default Search;

因此,经过两天的搜索和测试,我终于解决了这个问题: 1.干净的网页包与推荐的配置完美配合:

package.json

        "devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/plugin-transform-runtime": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "@babel/runtime": "^7.10.2",
    "autoprefixer": "^9.8.0",
    "babel-loader": "^8.1.0",
    "browser-sync": "^2.26.7",
    "core-js": "^3.6.5",
    "gulp": "^4.0.2",
    "gulp-cli": "^2.2.1",
    "gulp-postcss": "^8.0.0",
    "postcss-color-function": "^4.1.0",
    "postcss-hexrgba": "^1.0.2",
    "postcss-import": "^12.0.1",
    "postcss-mixins": "^6.2.2",
    "postcss-nested": "^4.1.2",
    "postcss-simple-vars": "^5.0.2",
    "webpack": "^4.39.1",
    "webpack-cli": "^3.3.6"
  },
  "dependencies": {
    "jquery": "^3.4.1",
    "normalize.css": "^8.0.1",
    "slick-carousel": "^1.8.1"
  }
{
  "name": "babel-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "webpack": "webpack --config webpack.config.js --color"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/plugin-transform-runtime": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "babel-loader": "^8.1.0",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11"
  }
}
webpack.config.js

const path = require('path'),
settings = require('./settings');

module.exports = {
  entry: {
    App: settings.themeLocation + "js/scripts.js"
  },
  output: {
    path: path.resolve(__dirname, settings.themeLocation + "js"),
    filename: "scripts-bundled.js"
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env',
            {
              "useBuiltIns": "usage"
            }],
            plugins: ['@babel/plugin-transform-runtime']
          }
        }
      }
    ]
  },
  mode: 'development'
}
const path = require('path');
module.exports = {
    mode: 'development',
    entry: {
        index: './index.js'
    },
    output: {
        path: path.resolve(__dirname, 'public'),
        filename: 'bundle.js',
    },
    module: {
        rules: [
            {
                test: /\.m?js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env'],
                        plugins: [
                            ["@babel/plugin-transform-runtime", { "regenerator": true }
                            ]
                        ]
                    }
                }
            }
        ]
    }
}
  • 我将所有webpack和babel相关软件包更新为最新的稳定版本

  • 我的吞咽文件有问题。所以我通过网页包流改变了网页包的使用。之前:

  • 之后:

     const webpack = require('webpack-stream');
     gulp.task('scripts', function() {
       return gulp.src(settings.themeLocation + "js/scripts.js")
         .pipe(webpack( require('./webpack.config.js') ))
         .pipe(gulp.dest(settings.themeLocation + "js"));
     });
    

    因此,经过两天的搜索和测试,我终于解决了这个问题: 1.干净的网页包与推荐的配置完美配合:

    package.json

            "devDependencies": {
        "@babel/core": "^7.10.2",
        "@babel/plugin-transform-runtime": "^7.10.1",
        "@babel/preset-env": "^7.10.2",
        "@babel/runtime": "^7.10.2",
        "autoprefixer": "^9.8.0",
        "babel-loader": "^8.1.0",
        "browser-sync": "^2.26.7",
        "core-js": "^3.6.5",
        "gulp": "^4.0.2",
        "gulp-cli": "^2.2.1",
        "gulp-postcss": "^8.0.0",
        "postcss-color-function": "^4.1.0",
        "postcss-hexrgba": "^1.0.2",
        "postcss-import": "^12.0.1",
        "postcss-mixins": "^6.2.2",
        "postcss-nested": "^4.1.2",
        "postcss-simple-vars": "^5.0.2",
        "webpack": "^4.39.1",
        "webpack-cli": "^3.3.6"
      },
      "dependencies": {
        "jquery": "^3.4.1",
        "normalize.css": "^8.0.1",
        "slick-carousel": "^1.8.1"
      }
    
    {
      "name": "babel-test",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "webpack": "webpack --config webpack.config.js --color"
      },
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "@babel/core": "^7.10.2",
        "@babel/plugin-transform-runtime": "^7.10.1",
        "@babel/preset-env": "^7.10.2",
        "babel-loader": "^8.1.0",
        "webpack": "^4.43.0",
        "webpack-cli": "^3.3.11"
      }
    }
    
    webpack.config.js

    const path = require('path'),
    settings = require('./settings');
    
    module.exports = {
      entry: {
        App: settings.themeLocation + "js/scripts.js"
      },
      output: {
        path: path.resolve(__dirname, settings.themeLocation + "js"),
        filename: "scripts-bundled.js"
      },
      module: {
        rules: [
          {
            test: /\.js$/,
            exclude: /node_modules/,
            use: {
              loader: 'babel-loader',
              options: {
                presets: ['@babel/preset-env',
                {
                  "useBuiltIns": "usage"
                }],
                plugins: ['@babel/plugin-transform-runtime']
              }
            }
          }
        ]
      },
      mode: 'development'
    }
    
    const path = require('path');
    module.exports = {
        mode: 'development',
        entry: {
            index: './index.js'
        },
        output: {
            path: path.resolve(__dirname, 'public'),
            filename: 'bundle.js',
        },
        module: {
            rules: [
                {
                    test: /\.m?js$/,
                    exclude: /(node_modules|bower_components)/,
                    use: {
                        loader: 'babel-loader',
                        options: {
                            presets: ['@babel/preset-env'],
                            plugins: [
                                ["@babel/plugin-transform-runtime", { "regenerator": true }
                                ]
                            ]
                        }
                    }
                }
            ]
        }
    }
    
  • 我将所有webpack和babel相关软件包更新为最新的稳定版本

  • 我的吞咽文件有问题。所以我通过网页包流改变了网页包的使用。之前:

  • 之后:

     const webpack = require('webpack-stream');
     gulp.task('scripts', function() {
       return gulp.src(settings.themeLocation + "js/scripts.js")
         .pipe(webpack( require('./webpack.config.js') ))
         .pipe(gulp.dest(settings.themeLocation + "js"));
     });