3

我在使用 webpacks 代码拆分功能时遇到问题。我试图在我的应用程序中为两条不经常访问的路由设置 2 个命名块。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-line 工具来观看

webpack -d --progress --colors --watch

问题是它在需要文件时忽略了名称,因为您可以看到格式是“[name]-[hash].js”它生成格式正确的文件,例如 settings-2j3nekj2n3ejkn2.js 但是在开发过程中,当我尝试加载页面,浏览器抱怨找不到“-2j3nekj2n3ejkn2.js”,不知何故,文件的映射忽略了名称。如果我省略了名称,那么它可以工作。

所以问题是如何正确设置多个命名块。提前致谢。

注意我已经在https://github.com/webpack/docs/wiki/code-splitting的文档中查看了他们的示例

我也在 https://github.com/webpack/docs/wiki/optimization关注了他们的优化文档

但我被困住了

4

1 回答 1

2

那么简单的答案是 - [name= 在 chunkName 中不受支持。

Webpack 的优秀人员实际上已经听到了我的呼声并实施了它

这是提交 https://github.com/webpack/webpack/commit/03c87c11a4219ae6ec6bfe87e570a0dacceac859

由于以下问题,我制作了 https://github.com/webpack/webpack/issues/358

自 Beta ^1.3.2 起已提供

于 2014-07-17T10:48:24.143 回答