一尘不染

如何使用Webpack复制静态文件以建立目录?

javascript

我正尝试从Gulp移至Webpack。在Gulp任务中,将所有文件和文件夹从 / static / 文件夹复制到 / build
/
文件夹。怎么做Webpack呢?我需要一些插件吗?


阅读 348

收藏
2020-05-01

共1个答案

一尘不染

您无需四处复制内容,Webpack的工作原理与gulp不同。Webpack是一个模块捆绑器,您在文件中引用的所有内容都将包括在内。您只需要为此指定一个加载程序。

因此,如果您写:

var myImage = require("./static/myImage.jpg");

Webpack首先将尝试将引用的文件解析为JavaScript(因为这是默认设置)。当然,那将失败。这就是为什么您需要为该文件类型指定加载程序。该文件 -或者URL装载机例如采用引用的文件,把它变成的WebPack的输出文件夹(这应该是build你的情况),并返回混编网址该文件。

var myImage = require("./static/myImage.jpg");
console.log(myImage); // '/build/12as7f9asfasgasg.jpg'

通常,加载器是通过webpack配置应用的:

// webpack.config.js

module.exports = {
    ...
    module: {
        loaders: [
            { test: /\.(jpe?g|gif|png|svg|woff|ttf|wav|mp3)$/, loader: "file" }
        ]
    }
};

当然,您需要先安装文件加载器以使此工作。

2020-05-01