Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 在没有网页包的情况下进行开发,有没有一种方法可以只用一口气?_Javascript_Reactjs_Webpack_Gulp - Fatal编程技术网

Javascript 在没有网页包的情况下进行开发,有没有一种方法可以只用一口气?

Javascript 在没有网页包的情况下进行开发,有没有一种方法可以只用一口气?,javascript,reactjs,webpack,gulp,Javascript,Reactjs,Webpack,Gulp,虽然我喜欢Webpack的某些方面,但我喜欢它的时间太长了,只要它超过15行,它就会变得如此神秘,如此不可配置,如此耗时,以至于除了两件事,我宁愿不使用它 将es6/jsx转换为当前javascript格式 求解依赖图 我宁愿直接在npm脚本中或是在吞咽(首选)中进行热加载、sass->css、清理等 然而,我刚刚开始使用React,我在React Universe中看到的唯一一件事就是将JSX+ES6转换为ES5格式。在React中,是否有更多我尚未遇到的需要使用Web包的内容 如果可能的话,

虽然我喜欢Webpack的某些方面,但我喜欢它的时间太长了,只要它超过15行,它就会变得如此神秘,如此不可配置,如此耗时,以至于除了两件事,我宁愿不使用它

  • 将es6/jsx转换为当前javascript格式
  • 求解依赖图
  • 我宁愿直接在npm脚本中或是在吞咽(首选)中进行热加载、sass->css、清理等

    然而,我刚刚开始使用React,我在React Universe中看到的唯一一件事就是将JSX+ES6转换为ES5格式。在React中,是否有更多我尚未遇到的需要使用Web包的内容


    如果可能的话,我想干脆不使用Webpack。如果这就是React的全部功能,那么我想知道:使用Gulp如何做上述两件事?

    在您做出此决定之前需要考虑的一些因素。正如您所说,您正在学习react,因此您可能不知道在react环境中使用的最佳工具,但您应该在使用gulp之前尝试更多

    看一下这个片段,我将向您详细解释

     devServer: {
        inline: true,
        port: 8080,
        host: '0.0.0.0',
        historyApiFallback: true,
      },
      entry: './src/app/App.js',
      output: {
        path: path.join(__dirname, 'static'),
        publicPath: '/',
        filename: 'bundle.[hash].js',
        chunkFilename: 'chunk.[hash].js',
      },
      module: {
        rules: [
          {
            test: /.jsx?$/,
            loader: 'babel-loader',
            exclude: /node_modules/,
            options: {
              presets: [ ['es2015',{ modules: false }], 'react'],// insert ] 
              plugins: ['transform-object-rest-spread'],
            },
          },
          {
            test: /\.css$/,
            use: ExtractTextPlugin.extract({
              fallback: 'style-loader',
              use: 'css-loader',
            }),
          },
          {
            test: /\.scss$/,
            use: ExtractTextPlugin.extract({
              fallback: 'style-loader',
              use: 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
            }),
          },
          {
            test: /.(mp4|png|jpg|woff(2)??|eot|otf|ttf|svg)(\?[a-z0-9=\.]+)?$/,
            use: 'url-loader?limit=100000',
          },
        ],
      },
      plugins: [CleanPlugin, HTMLWebpackPluginConfig, ExtractTextPluginCSS, FaviconPlugin],
      devtool: 'cheap-source-map',
    };
    
    devServer:该对象配置了一个在开发模式下使用的惊人工具,并通过热重新加载查看输出

    规则:这是网页包配置文件最重要的部分,规则测试文件的扩展名,并根据创建的规则对其进行特殊处理

    .JSX
    测试中,他们将测试所有.JSX文件,即根文件夹中的调用。这些预设用于为.jsx创建特殊规则,而我只使用了一个启用

    .css
    文件的规则我必须使用两个加载程序,一个用于css,另一个如果第一个失败(回退)

    现在,你的观点是,scss文件,我使用带有css模块的scss,它们为每个css输出创建块文件,并使用一些奇怪的名称。有了这个加载器,您可以使用简单的导入。用于我为每个组件创建的每个.scss文件,看起来很复杂吗?检查url。e、 g.ComponentA.JS、ComponentB.JS、ComponentA.scss、ComponentB.scss

    最后一条规则是针对静态文件、图像和字体,这里没有太多解释

    插件行,这是必须的,您必须插入配置文件中使用的所有插件。最后但并非最不重要的是
    devtool
    行与源代码映射您可以在chrome(或其他)devtool中检查缩小的代码,我喜欢将此工具与调试器一起使用


    我希望它能帮助你找到正确的方向,但即使你已经尝试过这个方法,并且想用react:。。。你要大口喝吗?第一个结果不起作用有什么原因吗?(我不知道,从来没用过)