我在使用 webpack 代码拆分功能时遇到问题。我试图在我的应用程序中为两条不经常访问的路由设置 2 个命名 block 。 mysite.com/settings 和 mysite.com/access。
这是我的 webpack.config.coffee
module.exports =
contentBase: "#{__dirname}/src/"
cache: true
entry:
app: './src/coffee/app'
head: './src/coffee/head'
output:
path: path.join(__dirname, 'build')
publicPath: '/'
filename: '[name].js'
chunkFilename: '[name]-[chunkhash].js'
plugins: []
这是我的 router.coffee
access: (slug) ->
_this = @
require.ensure ['../view/page/access-page.coffee'], (require) ->
AccessPage = require '../view/page/access-page.coffee'
accessPage = AccessPage.getInstance()
accessPage.render() unless accessPage.isRendered
_this.showPage accessPage
, 'access'
settings: (slug) ->
_this = @
require.ensure ['../view/page/settings-page.coffee'], (require) ->
SettingsPage = require '../view/page/settings-page.coffee'
settingsPage = SettingsPage.getInstance()
settingsPage.render() unless settingsPage.isRendered
_this.showPage settingsPage
, 'settings'
我没有使用 webpack 开发服务器,而是通过使用以下 cmd 行工具简单地观看
webpack -d --progress --colors --watch
问题是它在需要文件时会忽略名称,正如您所看到的格式是 '[name]-[hash].js' 它会生成具有正确格式的文件,例如settings-2j3nekj2n3ejkn2.js 但在开发过程中,当我尝试加载页面时,浏览器提示找不到“-2j3nekj2n3ejkn2.js”,文件映射以某种方式忽略了名称。如果我省略了名称,那么它就可以了。
所以问题是如何正确设置多个命名 block 。提前致谢。
请注意,我已经在 https://github.com/webpack/docs/wiki/code-splitting 的文档中查看了他们的示例
我也关注了他们的优化文档 https://github.com/webpack/docs/wiki/optimization
但是我卡住了
最佳答案
好吧,简单的答案是 - [chunkName 不支持 name=。
Webpack 的牛逼们听到了我的呼声并实现了它
这是提交 https://github.com/webpack/webpack/commit/03c87c11a4219ae6ec6bfe87e570a0dacceac859
由于以下问题,我提出了 https://github.com/webpack/webpack/issues/358
从 Beta ^1.3.2 开始可用
关于javascript - Webpack 多个命名 block 在运行时忽略名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743114/