Webpack non può risolvere html-loader

Sto convertendo un progetto utilizzando requirejs per webpack e hanno problemi con il “html-loader” loader.

pacchetto.json:

"html-loader": "^0.3.0",
"webpack": "^1.11.0",
"webpack-dev-server": "^1.10.1"

app/js/webpack.config.js:

  //folder structure:
  //root
  //  app/js
  //  bower_components/
  //  dist/
  //  node_modules/

  entry: './app/js/main.js',
  output: {
    path: 'dist/js/',
    filename: 'bundle.js',
  },
  module: {
    loaders: [
      //Note, via requirejs's "text" plugin, I included templates
      //like this: var tpl = require('text!sample.html');
      //For webpack, I went through the codebase and cleaned up
      //every instance of "text!".
      {test: /\.html$/, loader: 'html'}
    ]
  },
  resolve: {
    root: ['app/js', 'bower_components'],
    alias: {
      ...
    }
  },
  plugins: [
    new webpack.ResolverPlugin(
      new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
        'bower.json', ['main']
      )
    )
  ]

Quando ho eseguito webpack — webpack --config app/js/webpack.config.js — ottengo il seguente messaggio di errore:

ERRORE in app/js/some/file.js

Modulo non trovato: Errore: Impossibile risolvere il modulo ‘html’ in app/js/some/file.js

Ho provato le seguenti, che non ha funzionato:

  resolveLoader: {
    root: [path.join(__dirname, 'node_modules')],
  },

Anche provato in movimento “webpack.config.js” alla radice del progetto. Che non aiutano.

E anche provato ad usare il “raw-loader” loader, il quale, inoltre, ha portato lo stesso “Impossibile risolvere il modulo ‘raw'” errore.

Qualsiasi aiuto sarebbe apprezzato. Grazie.

  • può includere il vostro app/js/some/file.js qui?
  • Scusate per la domanda stupida, ma non si è assolutamente sicuri che html-loader e raw-loader sono installati correttamente? Forse mancherà qualche errore quando si fa npm install?
InformationsquelleAutor jbarreiros | 2015-08-12



One Reply
  1. 3

    Totalmente lasciato cadere la palla su questo aggiornamento.

    1) dovrei avere usando text-loader, che mi permette di lasciare in ogni require('text!some/template.html');.

    2) il Mio percorso principale era non in assoluto. Per il manuale, “deve essere un percorso assoluto! Non passa qualcosa di simile ./app/modules.”

    3) Se il tuo requires apparire come require('text!some/file.html'), poi si è fatto. Definizione di il caricatore in webpack.config.js è ridondante. Se si, i tuoi modelli per finire in cerca come module.exports="module.exports=\"...\"".

    Aggiornato config:

    entry: './app/js/main.js',
    output: {
        path: 'dist/js/',
        filename: 'bundle.js',
    },
    module: {
        loaders: [/*nothing*/]
    },
    resolve: {
        root: [
            path.resolve('app/js'), 
            path.resolve('bower_components')
        ],
        alias: {
            ...
        }
    },
    plugins: [
        new webpack.ResolverPlugin(
            new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
                'bower.json', ['main']
            )
        )
    ]

Lascia un commento