title: Error loading Handlebars partial with webpack + handlebars-loader
body: <h2>The Problem</h2>
  
  <p>(Note: Both my file structure and webpack config follow the description of this problem.)</p>
  
  <p>I am using a Handlebars partial, called <code>labels.hdbs</code>, inside of my template <code>main.hdbs</code>, like so:</p>
  
  <pre class="lang-html prettyprint-override"><code>  &lt;div class="panel-heading text-center"&gt;
      &lt;div class="user-info"&gt;
        &lt;div class="name small text-muted"&gt;
          &lt;strong&gt;{{requester.name}}&lt;/strong&gt; ({{requester.email}})
        &lt;/div&gt;
      &lt;/div&gt;
      {{&gt; labels requester}}
    &lt;/div&gt;
  </code></pre>
  
  <p>However, when I run webpack, I receive the following error:</p>
  
  <blockquote>
    <p>WARNING in ./src/templates/main.hdbs
    Module build failed: Error: Partial './src/templates/labels' not found</p>
  </blockquote>
  
  <h2>Versions</h2>
  
  <pre><code>* webpack: 1.12.13
  * handlebars-loader: 1.5.0
  * handlebars: 4.0.5
  </code></pre>
  
  <h2>File Structure</h2>
  
  <p>This is a paired down depiction of my file structure.</p>
  
  <pre><code>.
  ├── dist
  ├── lib
  ├── src 
  |   ├── javascripts
  |   |   └── index.js
  |   └── templates
  |       ├── main.hdbs
  |       ├── labels.hdbs
  |       └── helpers
  ├── webpack.config.js
  ├── node_modules
  └── package.json
  </code></pre>
  
  <h2>Webpack Config</h2>
  
  <p>I am using the handlebars-loader module, and have set both the <code>rootRelative</code> and <code>helperDirs</code> options appropriately (I think!):</p>
  
  <pre class="lang-js prettyprint-override"><code>    /* eslint-env node */
      var path = require('path');
      var webpack = require('webpack');
      var ExtractTextPlugin = require('extract-text-webpack-plugin');
      var extractStyles = new ExtractTextPlugin('main.css');
      var HtmlWebpackPlugin = require('html-webpack-plugin');
  
      var externalAssets = {
        css: [...],
        js: [
          'https://cdn.jsdelivr.net/g/lodash@4.14.0,handlebarsjs@4.0.5,jquery@3.1.0',
          'https://assets.zendesk.com/apps/sdk/2.0/zaf_sdk.js'
        ]
      }
  
      module.exports = {
        progress: true,
        entry: {
          app: ['./src/javascripts/index.js', './src/stylesheets/app.scss']
        },
        output: {
          path: './dist/assets',
          filename: 'main.js',
          sourceMapFilename: '[file].map'
        },
        module: {
          preLoaders: [
            {
              test: /\.js$/,
              exclude: /node_modules/,
              loader: 'eslint-loader'
            }
          ],
          loaders: [
            {
              test: /\.(gif|jpe?g|png|svg|woff2?|ttf|eot)$/,
              loader: 'url-loader?limit=10000&amp;name=[name].[ext]'
            },
            {
              test: /\.scss$/,
              loader: extractStyles.extract("style", ["css?sourceMap&amp;root=" + path.resolve('./dist/assets'), "sass?sourceMap"])
            },
            {
              test: /\.json$/,
              exclude: path.resolve(__dirname, './src/translations'),
              loader: 'json-loader'
            },
            {
              test: /\.json$/,
              include: path.resolve(__dirname, './src/translations'),
              loader: 'translations-loader',
              query: {
                runtime: 'handlebars'
              }
            },
            {
              test: /\.js$/,
              exclude: /node_modules/,
              loader: 'babel-loader',
              query: {
                presets: ['env'],
                plugins: ['transform-async-to-generator']
              }
            },
            {
              test: /\.(handlebars|hd?bs)$/,
              loader: 'handlebars-loader',
              query: {
                extensions: ['handlebars', 'hdbs', 'hbs'],
                runtime: 'handlebars',
                inlineRequires: '\/images\/',
                rootRelative: './src/templates/',
                helperDirs: [ 
                  path.resolve(__dirname, './src/templates/helpers')
                ]
              }
            }
          ]
        },
        resolveLoader: {
          modulesDirectories: ['./lib/loaders', 'node_modules']
        },
        resolve: {
          modulesDirectories: ['node_modules', './lib/javascripts'],
          alias: {
            'app_manifest': path.join(__dirname, './dist/manifest.json')
          },
          extensions: ['', '.js']
        },
        externalAssets: externalAssets,
        externals: {
          handlebars: 'Handlebars',
          jquery: 'jQuery',
          lodash: '_',
          zendesk_app_framework_sdk: 'ZAFClient'
        },
        devtool: '#eval',
        plugins: [
          extractStyles,
          new HtmlWebpackPlugin({
            warning: 'AUTOMATICALLY GENERATED FROM ./lib/templates/layout.hdbs - DO NOT MODIFY THIS FILE DIRECTLY',
            vendorCss: externalAssets.css,
            vendorJs: externalAssets.js,
            template: '!!handlebars!./lib/templates/layout.hdbs'
          }),
          new webpack.optimize.UglifyJsPlugin({
            compress: {
              drop_debugger: false,
              warnings: false
            }
          })
        ]
      };
  </code></pre>