当前位置: 首页 > 面试题库 >

Webpack:使用目录中的每个文件创建捆绑

陶鹏
2023-03-14
问题内容

我正在尝试将webpack中的每个角度模块捆绑在一起。我的目标是拥有一个app.js,它将通过以下配置与webpack捆绑在一起:

entry: {
        app: "./app/app.js"
},
output: {
        path: "./build/ClientBin",
        filename: "bundle.js"
},

我将这个捆绑脚本放到我的index.html中,这样它将成为我应用程序的入口。我的./app/components文件夹中也有很多模块。文件夹结构如下:

app
|--components
|  |
|  |--home
|  |  |
|  |  |--home.html
|  |  |--home.js
|--app.js
|--AppController.js

我已要求这样做home.htmlhome.js所以当我加载home.js其所有需要的文件时,都将加载。问题是我有几个类似的组件home,我想告诉webpack分别捆绑每个组件,并用其包含的文件夹命名它home

我如何配置webpack来创建这些捆绑包并将其放入./build/components


问题答案:

我最终以编程方式定义了条目。我在webpack.config.js中写了这个:

function getDirectories(srcpath) {
    return fs.readdirSync(srcpath).filter(function (file) {
        return fs.statSync(path.join(srcpath, file)).isDirectory();
    });
}

var entry = {
    app: "./app/app.ts",
    vendor: ["angular", "oclazyload", "angular-new-router", "lodash"]
};
var components = getDirectories("./app/components");
for (var i = 0; i < components.length; i++) {
    entry[components[i]] = "./app/components/" + components[i] + "/" + components[i] + ".ts";
}

然后entry在配置中使用变量



 类似资料:
  • 问题内容: 因此,现在我正在使用一个原型,其中我们将webpack(用于构建.tsx文件和复制.html文件)与webpack-dev- server之间的组合用于开发服务。您可以假设我们也将React和ReactDOM用作两个库依赖项。我们当前的构建输出是以下结构: 这会将所有模块(包括库相关性放入大捆绑文件中)放置。我希望最终结果如下所示: 我在index.html和.tsx文件的import

  • 问题内容: 如果我选择一个zip文件,然后右键单击“在此处提取”,则会创建一个包含zip文件名的文件夹,并将zip文件的全部内容提取到其中。 但是,我想通过外壳转换几个zip文件。但是当我这样做 该文件夹未创建,但所有文件都提取到当前目录中。 我看过参数,但是没有这样的参数。我也试过 但是2. $ zipfile和4. $ zipfile 的扩展名必须使用sed删除。如果我做 它不起作用。 如何正

  • 问题内容: 我有一个简单的应用程序,其中要求用户提供以下某些信息。 请提供您的域名。 **用户:www.google.com** 请提供您庞大的网址。 **用户:www.vast.xx.com** 请选择职位。a)左下。b)右下。 用户: b)右下 用户提供了这些信息后,按钮出现,用户单击以生成代码。他得到以下代码。 这是我完整的webpack配置文件:webpack config 使用此脚本,用

  • 问题内容: 我试图在该目录中创建一个新目录和一个文件。谁能告诉我我要去哪里错了? 我正在使用Windows系统,并且我希望该目录存在于我的文件所在的文件夹中。 问题答案: 基本上,正在发生的事情是,您正在创建一个名为的目录,然后尝试创建一个名为同一个东西的新文件,这显然行不通。 所以,而不是… 尝试… 额外 如果失败,实际上不会抛出任何异常,这很烦人,所以我会做更多类似的事情… 就这样我知道实际的

  • 条件是,如果目录存在,则必须在该特定目录中创建文件,而不创建新目录。 下面的代码仅使用新目录创建一个文件,而不针对现有目录。例如,目录名类似于“GETDIRECTION”:

  • 问题内容: 我正在创建一个简单的程序,尝试从磁盘中读取“ conf / conf.xml”,但是如果此文件或目录不存在,则会创建它们。 我可以使用以下代码执行此操作: 我的问题是,这是否真的是最优雅的方式?需要创建两个简单的路径以在新的子目录中创建新文件似乎多余。 问题答案: 您可以将声明为,而不是。然后,您可以使用,请参见下面的示例: 或者,按原样使用代码,您可以使用: