具有单个输入和输出文件的文件名哈希的汇总配置

Rya*_*yan 5 javascript rollupjs

说我有这个基本rollup.config.js文件。

\n
export default {\n    input: 'src/main.js',\n    output: {\n        format: 'iife',\n        file: 'dist/bundle.js',\n    }\n};\n
Run Code Online (Sandbox Code Playgroud)\n

我希望输出文件的文件名中有其哈希值(例如bundle-9f02a82b.js)。据我从文档中可以看出,执行此操作的正确方法是使用options.entryFileNames. 但是,该设置在输出到时似乎没有任何效果options.file

\n

我在网上看到有人提到你可以[hash]使用output.file使用,但这似乎并不实际工作。

\n
export default {\n    input: 'src/main.js',\n    output: {\n        format: 'iife',\n        file: 'dist/bundle-[hash].js', // this doesn\xe2\x80\x99t work\n    },\n};\n
Run Code Online (Sandbox Code Playgroud)\n

Dys*_*orn 4

为了获得散列文件名,您必须替换output.fileoutput.diroutput.entryFileNames

在你的例子中,这将是:

export default {
    input: 'src/main.js',
    output: {
        format: 'iife',
        dir: 'build',
        entryFileNames: 'bundle-[hash].js',
    },
};
Run Code Online (Sandbox Code Playgroud)