Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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

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
Javascript 使用gulp与webpack流和babel加载程序转换jsx_Javascript_Webpack_Gulp_Jsx_Babel Loader - Fatal编程技术网

Javascript 使用gulp与webpack流和babel加载程序转换jsx

Javascript 使用gulp与webpack流和babel加载程序转换jsx,javascript,webpack,gulp,jsx,babel-loader,Javascript,Webpack,Gulp,Jsx,Babel Loader,我正在用Wordpress建立一个网站,我正在尝试使用gulp、webpack stream和babel loader将JSX转换为JS(我成功地使用gulp将CSS转换为sass,所以我删除了该代码) 每当我在终端中运行gulp命令来转换JSX时,我在生成的Javascript文件中会得到以下错误输出: !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}}

我正在用Wordpress建立一个网站,我正在尝试使用gulp、webpack stream和babel loader将JSX转换为JS(我成功地使用gulp将CSS转换为sass,所以我删除了该代码)

每当我在终端中运行gulp命令来转换JSX时,我在生成的Javascript文件中会得到以下错误输出:

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);n(1);console.log("ugh")},function(e,t){console.log("test running")}]);
我无法确定是因为缺少重要的软件包,还是因为我的gulp命令出现了其他问题,才导致出现此错误

这是我的package.json的依赖项

{
  "devDependencies": {
    "@babel/core": "^7.11.4",
    "@babel/preset-env": "^7.11.0",
    "@babel/register": "^7.10.5",
    "@wordpress/browserslist-config": "^2.7.0",
    "autoprefixer": "^9.8.6",
    "babel-loader": "^8.1.0",
    "babelify": "^10.0.0",
    "browserify": "^17.0.0",
    "browserslist": "^4.14.0",
    "gulp": "^4.0.2",
    "gulp-concat": "^2.6.1",
    "gulp-postcss": "^8.0.0",
    "gulp-sass": "^4.1.0",
    "gulp-sourcemaps": "^2.6.5",
    "gulp-terser": "^1.4.0",
    "webpack-stream": "^6.1.0"
  },
  "browserslist": [
    "extends @wordpress/browserslist-config"
  ]
}
这是我的gulpfile.babel.js文件:

// load gulp
  import gulp from 'gulp';

// utility
  import sourcemaps from 'gulp-sourcemaps';

// css-related
  import sass from 'gulp-sass';
  import postcss from 'gulp-postcss';
  import autoprefixer from 'autoprefixer';

// js-related
  import webpack from 'webpack-stream';


// project
  const paths = {
    scripts: {
      src: 'src/scripts/bundle.js',
      dest: './build/js/'
    }
  }


// enable javasript
export const scripts = (done) => {
  return gulp.src( paths.scripts.src )
    .pipe( webpack({
      // module: {
      //   rules: [
      //     {
      //       test: /\.js$/,
      //       use: {
      //         loader: 'babel-loader',
      //         options: {
      //           presets: ['@babel/preset-env']
      //         }
      //       }
      //     }
      //   ]
      // },
      output: {
        filename: 'bundle.js'
      }
    }) )
    .pipe( gulp.dest( paths.scripts.dest ) );
    done();
}
我注释掉了webpack模块项,因为我消除了它不起作用的可能原因。当我注释掉webpack时,代码“起作用”,因为它将文件复制到构建文件夹中

下面是包含JSX的bundle.js文件

console.log('ugh');

import './components/test';

let x = 0;
下面是test.js包含的内容

console.log("test running");
我在终端内部也收到了以下信息:

(node:13196) [DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead.
[22:53:54] Version: webpack 4.44.2
Built at: 10/20/2020 10:53:54 PM
    Asset        Size  Chunks             Chunk Names
bundle.js  1020 bytes       0  [emitted]  main
Entrypoint main = bundle.js

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
[22:53:54] Finished 'scripts' after 1.69 s
我对使用node、npm和gulp是完全陌生的,我一直在尽我所能地遵循教程,试图让它发挥作用,但每个教程要么都是旧的,要么最终在目标文件中出现了垃圾代码。我也是唯一的开发者和设计师,我迫切需要一些反馈/帮助。我将永远感谢任何能够帮助我使其正常工作的人,我很高兴提供任何额外的信息,以便解决这个问题