Webpack 2.7 Простая сборка - Resolving

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Наконец то я теперь знаю как он без указания точного пути к пакетам всегда знает где их искать)

nvkzmaks
Автор

Для лоадеров:
resolveLoader: {
modules: ["node_modules"],
moduleExtensions: ['-loader'],
extensions: ["*", ".js"]
}
И тогда можно в babel оставить урезанный вариант:
loader: 'babel',

ArgumentX
Автор

теперь писать надо так:
resolve: {
modules: ["node_modules"],
extensions: ["*", ".js"]
}

ArgumentX
Автор

В 2к17 из документации:
Установка
npm install --save-dev babel-loader babel-core babel-preset-env webpack

Конфигурация
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['env']
}
}
}
]
}

rnxla
Автор

Если есть проблемы с конфигурацией, спасёт:
npm uninstall webpack --save-dev

joymefisto
Автор

И, кстати, в массиве loaders, если оставить только строку "babel", а не babel-loader также ругается и просит добавить суффикс

Denis_Zh
Автор

Здравствуйте. Подскажите, пожалуйста, Когда в файле webpack.config.js добавил настройки resolve и
resolveLoader, и запустил команду webpack, появилось сообщение об
ошибке, которую я никак не могу побороть:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.resolve has an unknown property 'modulesDirectories'. These properties are valid:
object { alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, enforceModuleExtension?, extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache?, useSyncFileSystemCalls? }
- should not be empty.
- configuration.resolveLoader has an unknown property 'moduleTemplates'. These properties are valid:
object { alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, enforceModuleExtension?, extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache?, useSyncFileSystemCalls? }
- should not be empty.

Denis_Zh
Автор

BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders. You need to specify 'babel-loader' instead of 'babel'.

justfearrr
Автор

Вот содержимое файла webpack.config:
var webpack = require('webpack');
var NODE_ENV = process.env.NODE_ENV || 'development';

module.exports = {
entry: "./js/main",
output: {
filename: "js/build.js",
library: 'main'
},
watch: NODE_ENV == 'development',
watchOptions: {
aggregateTimeout: 100
},
devtool: NODE_ENV == 'development' ? : null,
plugins: [
new webpack.DefinePlugin({
NODE_ENV: JSON.stringify(NODE_ENV),
LANG: JSON.stringify('ru')
})
],
// resolve: {
// modulesDirectories: ['node_modules'],
// extensions: ['', '.js']
// },
// resolveLoader: {
// modulesDirectories: ['node_modules'],
// moduleTemplates: ['*-loader'],
// extensions: ['', '.js']
// },
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader'
}
]
}
};

Denis_Zh
Автор

Меня как новичка только отталкивает. Потому что совершенно ничего не понятно. Все очень быстро..

materna