使用确定性[chunkhash]

时间:2016-05-03 22:40:35

标签: javascript node.js webpack isomorphic-javascript

有关使用webpack进行有效长期缓存的讨论,请参阅此主题(特别是对于供应商包): https://github.com/webpack/webpack/issues/1315

我已经使用此示例成功实现了解决方案(如上面的主题中所述): https://github.com/webpack/webpack/tree/master/examples/chunkhash

我正在开发一个同构网站。服务器(需要此文件)由webpack生成。通过从服务器获取浏览器/客户端请求manifest.[chunkhash].js,我能够使解决方案工作。但是,我想内联以保存不必要的http请求。

在示例中,它只是声明:

<!-- inlined minimized file "manifest.[chunkhash].js" -->

如果我的服务器运行生成的文件,我怎样才能要求生成的文件?这似乎是逻辑上的循环。

重申一下,我的问题是将webpack生成的内容内联到web服务器上,该服务器运行webpack生成的文件。

编辑:

我能够拉出内容并将它们内联在服务器上,如下所示:

try {
    webpackAssetsFull = require('../../public/dist/webpack-assets.json');
    manifestFilename = _.last(webpackAssetsFull.assets.manifest.js.split('/'));
    manifestRaw = require('!!raw!uglify!../../public/dist/' + manifestFilename);
} catch (err) {
    console.warn('Waiting on webpack...');
}

稍后当我渲染html时,我只是在脚本标记之间抛出manifestRaw变量。这似乎现在工作正常。

我还有一个问题。似乎webpack正在观看这些生成的文件(这对开发来说非常烦人)。我们在开发时使用watch功能运行webpack。每当manifest.*.js(或甚至webpack-assets.json)文件发生更改时,都会重新编译服务器(需要这些文件)。有谁知道如何从监视系统中排除这些文件?我尝试了webpack外部,但无法让它工作。

0 个答案:

没有答案