• <legend id='BW44I'><style id='BW44I'><dir id='BW44I'><q id='BW44I'></q></dir></style></legend>
    • <bdo id='BW44I'></bdo><ul id='BW44I'></ul>
  • <tfoot id='BW44I'></tfoot>
    <i id='BW44I'><tr id='BW44I'><dt id='BW44I'><q id='BW44I'><span id='BW44I'><b id='BW44I'><form id='BW44I'><ins id='BW44I'></ins><ul id='BW44I'></ul><sub id='BW44I'></sub></form><legend id='BW44I'></legend><bdo id='BW44I'><pre id='BW44I'><center id='BW44I'></center></pre></bdo></b><th id='BW44I'></th></span></q></dt></tr></i><div id='BW44I'><tfoot id='BW44I'></tfoot><dl id='BW44I'><fieldset id='BW44I'></fieldset></dl></div>

    <small id='BW44I'></small><noframes id='BW44I'>

      1. 使用 Gulp 的 ES6 导入模块

        时间:2023-05-29
        <i id='xIb7e'><tr id='xIb7e'><dt id='xIb7e'><q id='xIb7e'><span id='xIb7e'><b id='xIb7e'><form id='xIb7e'><ins id='xIb7e'></ins><ul id='xIb7e'></ul><sub id='xIb7e'></sub></form><legend id='xIb7e'></legend><bdo id='xIb7e'><pre id='xIb7e'><center id='xIb7e'></center></pre></bdo></b><th id='xIb7e'></th></span></q></dt></tr></i><div id='xIb7e'><tfoot id='xIb7e'></tfoot><dl id='xIb7e'><fieldset id='xIb7e'></fieldset></dl></div>
          <tbody id='xIb7e'></tbody>
        <tfoot id='xIb7e'></tfoot>
      2. <small id='xIb7e'></small><noframes id='xIb7e'>

        <legend id='xIb7e'><style id='xIb7e'><dir id='xIb7e'><q id='xIb7e'></q></dir></style></legend>
            • <bdo id='xIb7e'></bdo><ul id='xIb7e'></ul>

                1. 本文介绍了使用 Gulp 的 ES6 导入模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我正在尝试将我的 ES6 模块导入文件并运行 Gulp 以连接和缩小文件.我遇到了 ReferenceError: require is not defined at all.js(transpiled) line no 3.我已经使用 gulp-babel 编译了代码.

                  I am trying to import my ES6 module into a file and running Gulp to concat and minify the file. I'm running into a ReferenceError: require is not defined at all.js(transpiled) line no 3. I have transpiled the code using gulp-babel.

                  我的js文件是:

                  cart.js:

                  class Cart{
                    constructor(){
                      this.cart = [];
                      this.items = items = [{
                          id: 1,
                          name: 'Dove Soap',
                          price: 39.99
                      },{
                          id: 2,
                          name: 'Axe Deo',
                          price: 99.99
                      }];
                    }
                  
                  
                    getItems(){
                      return this.items;
                    }
                  
                  
                  }
                  
                  export {Cart};
                  

                  app.js:

                  import {Cart} from 'cart.js';
                  
                  let cart = new Cart();
                  
                  console.log(cart.getItems());
                  

                  gulpfile.js:

                  "use strict";
                  
                  let gulp = require('gulp');
                  let jshint = require('gulp-jshint');
                  let concat = require('gulp-concat');
                  let uglify = require('gulp-uglify');
                  let rename = require('gulp-rename');
                  let babel = require('gulp-babel');
                  
                  
                  // Lint Task
                  gulp.task('lint', function() {
                      return gulp.src('js/*.js')
                          .pipe(jshint())
                          .pipe(jshint.reporter('default'));
                  });
                  
                  
                  // Concatenate & Minify JS
                  gulp.task('scripts', function() {
                      return gulp.src('js/*.js')
                          .pipe(babel({
                              presets: ['env']
                          }))
                          .pipe(concat('all.js'))
                          .pipe(gulp.dest('dist'))
                          .pipe(rename('all.min.js'))
                          .pipe(uglify().on('error', function(e){
                            console.dir(e);
                          }))
                          .pipe(gulp.dest('dist/js'));
                  });
                  
                  // Default Task
                  gulp.task('default', ['lint','scripts']);
                  

                  app.js(转译):

                  'use strict';
                  
                  var _cart = require('cart.js'); //Uncaught ReferenceError: require is not defined
                  
                  var cart = new _cart.Cart();
                  
                  console.log(cart.getItems());
                  'use strict';
                  
                  Object.defineProperty(exports, "__esModule", {
                    value: true
                  });
                  
                  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
                  
                  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
                  
                  var Cart = function () {
                    function Cart() {
                      _classCallCheck(this, Cart);
                  
                      this.cart = [];
                      this.items = items = [{
                        id: 1,
                        name: 'Dove Soap',
                        price: 39.99
                      }, {
                        id: 2,
                        name: 'Axe Deo',
                        price: 99.99
                      }];
                    }
                  
                    _createClass(Cart, [{
                      key: 'getItems',
                      value: function getItems() {
                        return this.items;
                      }
                    }]);
                  
                    return Cart;
                  }();
                  
                  exports.Cart = Cart;
                  

                  推荐答案

                  你需要一个像 Webpack 这样的打包工具或 Browserify 以使用 ES6 导入.Babel 只能将 ES6 代码编译成 ES5(原生 JS).

                  You would need a bundler like Webpack or Browserify in order to use ES6 imports. Babel is only capable of compiling ES6 code to ES5 (native JS).

                  Webpack 和 Browserify 都为 gulp 制定了配方:

                  Both Webpack and Browserify have made recipes for gulp:

                  • https://webpack.js.org/guides/integrations/#gulp
                  • https://github.com/gulpjs/gulp/tree/master/文档/食谱

                  希望这会有所帮助.

                  这篇关于使用 Gulp 的 ES6 导入模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:如何使用 gulp 替换文件中的字符串? 下一篇:在继续下一个任务之前使 gulp 同步写入文件

                  相关文章

                  最新文章

                  • <bdo id='NSTUB'></bdo><ul id='NSTUB'></ul>

                  <small id='NSTUB'></small><noframes id='NSTUB'>

                2. <tfoot id='NSTUB'></tfoot>

                  1. <i id='NSTUB'><tr id='NSTUB'><dt id='NSTUB'><q id='NSTUB'><span id='NSTUB'><b id='NSTUB'><form id='NSTUB'><ins id='NSTUB'></ins><ul id='NSTUB'></ul><sub id='NSTUB'></sub></form><legend id='NSTUB'></legend><bdo id='NSTUB'><pre id='NSTUB'><center id='NSTUB'></center></pre></bdo></b><th id='NSTUB'></th></span></q></dt></tr></i><div id='NSTUB'><tfoot id='NSTUB'></tfoot><dl id='NSTUB'><fieldset id='NSTUB'></fieldset></dl></div>

                      <legend id='NSTUB'><style id='NSTUB'><dir id='NSTUB'><q id='NSTUB'></q></dir></style></legend>