相关疑难解决方法(0)

使用webpack将assets文件夹推送到公共目录

我第一次使用Webpack.目前一切都很顺利.我的问题是我正在尝试构建一个dist文件夹.目前我得到了我的index.htmlbundle.js文件,但我无法弄清楚如何将我的资产推送到该dist文件夹.

我有文件加载器加载,但它实际上似乎没有做我想要的,没有我运行的谷歌搜索告诉我我需要知道什么.下面是我的配置文件.有人可以带马去水吗?一旦我运行它,我需要将所有图像导入我的React组件吗?

var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './app/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/'
  },
  module: {
    rules: [
      { test: /\.(js)$/, use: 'babel-loader' },
      { test: /\.scss$/, use: [ 'style-loader', 'css-loader', 'sass-loader' ]},
      { test: /\.(png|jpe?g|svg|)$/, use: { loader: 'file-loader', options: }}
    ]
  },
  devServer: {
    historyApiFallback: true,
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'app/index.html'
    })
  ]
};
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack webpack-file-loader

9
推荐指数
1
解决办法
7573
查看次数

webpack 文件加载器复制文件

我正在使用 webpack,它是file-loader + html-loader将文件发送到我的输出目录中。它几乎按预期工作,因为它还复制了这些文件。

这是我的webpack.config.js文件的一部分:

module.exports = {
   module: {
      rules: [
         { test: /\.html$/, use: ["html-loader"] },
         {
            test: /\.(jpg|png)$/,
            use: {
               loader: "file-loader",
               options: {
                  name: "[name].[ext]",
                  outputPath: "img",
               },
            },
         },
      ],
   },
};
Run Code Online (Sandbox Code Playgroud)

有一个小例子说明我的输出目录的样子:

dist/
- img/
   - img1.png
   - img2.png
- ab0d12.png
- c3d612.png
- index.html
- bundle.js
Run Code Online (Sandbox Code Playgroud)

带有散列名称的两个图像是img/目录中不需要的重复项。正如您在上面的示例中看到的,我什至没有将名称设置为散列,而且我也无法以任何方式打开重复文件。

我正在使用一些插件,例如HtmlWebpackPluginCleanWebpackPlugin,但我相信它们不会导致问题。

版本:

  • 网络包 5.28.0
  • 文件加载器 6.2.0
  • html加载器 2.1.2

webpack webpack-html-loader webpack-file-loader

7
推荐指数
1
解决办法
493
查看次数