【问题标题】:webpack babel how to copy transpiled file if i don't use import/require如果我不使用 import/require,webpack babel 如何复制转译文件
【发布时间】:2020-05-15 20:24:25
【问题描述】:

我的项目中有一个名为test.js的文件

我不会在任何地方导入/需要它,这意味着我的 webpack 不会为那个 js 文件调用 babel-loader

问题:我想要将 test.js 移动到 /dist 文件夹中,但是作为编译/转译。它的最佳做法是什么?

我尝试了什么:我尝试使用 copy-webpack-plugin 并在复制文件之前使用它的转换参数,但我似乎找不到好的 babel 包。

{
    from: 'test.js',
        to: '/dist/test.js',
            transform(content, path) {
        //what do I write here? 
    },
}

【问题讨论】:

    标签: javascript webpack babeljs


    【解决方案1】:

    我能想到的最简单的方法是使用如下几个入口点:

    {
        entry: {
            a: "./your-main-stuff",
            b: "./your-single-file",
        },
        output: {
            path: path.join(__dirname, "dist"),
            filename: "[name].js"
        }
    }
    

    如果您使用了相应的加载器,它将在__dirname/dist 文件夹中创建您的a.js 主包和b.js 文件。

    来自 copy-webpack-plugin 文档section

    webpack-copy-plugin 并非旨在复制从 构建过程;相反,它是复制已经存在的文件 源代码树,作为构建过程的一部分。

    所以让它移动转译文件似乎很困难(如果可能的话)。

    更新。如果您想在不更改 src 文件夹的情况下将文件输出到不同的文件夹,则需要其他工具。对于您的情况(只有 1 个文件),我会编写一个简单的脚本并将其添加到 package.json 脚本部分并结合 webpack 调用,例如:

    "scripts": {
         "dev": "webpack && babel path-to-script.js --out-file path-to-script-compiled.js"
     }
    

    【讨论】:

    • 问题是对于条目'a',我希望它转到 dist 中与条目 b 不同的文件夹。所以我需要多个输出。这可能吗?
    • @NikaKurashvili 在这里查看讨论stackoverflow.com/questions/35903246/…
    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 2016-11-05
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    相关资源
    最近更新 更多