如何使用 Webpack 构建 React 应用程序并导入资产文件夹?

我的主要问题是我正在尝试构建一个 React 应用程序,但缺少资产文件夹,我不知道如何导入它并在 webpack.conf 中配置它。还有一个问题是index.html的相对路径:不知道在应用构建中会不会受到影响。

提前致谢。

http://img3.mukewang.com/61c416750001567903140614.jpg

索引.html:


<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>App</title>

    <base href="/">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <link rel="shortcut icon" href="src/assets/favicon.ico"/>

</head>


<body>

    <div id="app"></div>

</body>


</html>

网络包配置:


const path = require('path');

const HTMLWebpackPlugin = require('html-webpack-plugin');

const MiniCssExtractPlugin = require('mini-css-extract-plugin');


module.exports = {


  entry: './src/index.tsx',

  output: {

    path: path.resolve(__dirname, 'build'),

    filename: 'bundle.js'

  },

  resolve: {

    // Add '.ts' and '.tsx' as resolvable extensions.

    extensions: [".ts", ".tsx", ".js", ".jsx", ".json"]

  },

  module: {

    rules: [

      {

        test: /\.tsx?$/,

        loader: "awesome-typescript-loader"

      },

      // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.

      { enforce: "pre", test: /\.js$/, loader: "source-map-loader" },

      {

        test: /\.scss$/,

        use: [

          MiniCssExtractPlugin.loader,

          "css-loader",

          "sass-loader"

        ]

      }

    ]

  },

  plugins: [

    new HTMLWebpackPlugin({

      template: 'public/index.html'

    }),

    new MiniCssExtractPlugin("style.css")

  ],

  // Enable sourcemaps for debugging webpack's output.

  devtool: "source-map",

  devServer: {

    historyApiFallback: true,

    port: 3000

  }

};


犯罪嫌疑人X
浏览 128回答 2
2回答

ibeautiful

作为构建过程的一部分,您可以使用webpack-copy-plugin复制其他文件夹/文件new CopyPlugin([{&nbsp;&nbsp; from: path.resolve(__dirname, 'src', 'assets'),&nbsp;&nbsp; to: path.resolve(__dirname, 'build', 'assets')&nbsp;}])

阿波罗的战车

“作为构建过程的一部分,您可以使用webpack-copy-plugin复制其他文件夹/文件”但是,在使用示例@James 时出现一个小错误,应该是这样的:webpack.config.js&nbsp; plugins: [&nbsp; &nbsp; //...&nbsp; &nbsp; new CopyPlugin({&nbsp; &nbsp; &nbsp; patterns: [&nbsp; &nbsp; &nbsp; &nbsp; { from: path.resolve(__dirname, 'src', 'assets'), to: path.resolve(__dirname, 'build', 'assets') },&nbsp; &nbsp; &nbsp; ],&nbsp; &nbsp; })&nbsp; ],希望它有帮助(如果对你也有帮助,请为詹姆斯的帮助点赞)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript