web-dev-qa-db-fra.com

Comment importer un module dans un sous-dossier de package npm avec webpack?

Disons qu'il y a un paquet dans node_modules appelé foo et je souhaite importer un module dans une bibliothèque telle que foo/module via webpack & babel ...

import Foo from 'foo'; travaux

import SomeOtherModule from 'foo/module'; échoue avec ce qui suit:

Module introuvable: Erreur: impossible de résoudre le module 'foo/module' dans/Users/x/Desktop/someproject/js

Ce qui donne l'impression que webpack recherche le fichier au mauvais endroit au lieu de node_modules

Mon webpack.config ressemble à ceci:

var webpack = require('webpack');
var path = require('path');

module.exports = {
    entry: ['babel-polyfill','./js/script.js'],
    output: {
        path: __dirname,
        filename: './build/script.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel',
                query: {
                    cacheDirectory: true,
                    presets: ['es2015']
                }
            }
        ],
    },
    plugins: [
        new webpack.NoErrorsPlugin()
    ],
    stats: {
        colors: true
    },
    devtool: 'source-map'

};
21
glued

Cela devrait fonctionner avec import 'foo/module';. Il résoudra le fichier ./node_modules/foo/module.js ou ./node_modules/foo/module/index.js et pas quelque chose comme ./node_modules/foo/node_modules/module/index.js si cela était prévu (dans ce cas, il vaut mieux installer le module via npm).

16
Dmitry Yaremenko