Using Webpack 2 и sass-loader 4,11не Webpack2 понимание @Import заявления в моих SASS файлов (Как скомпилировать SASS с webpack2?)
webpack --config webpack.config.js
Вот мой webpack.config.js
var path = require('path');
var sass = require("./sass/lifeleveler.scss");
module.exports = {
entry: './dist/main.js',
output: {
filename: 'lifeleveler.app.js',
path: path.resolve(__dirname, 'dist')
},
watch: true,
watchOptions: {
aggregateTimeout: 300,
poll: 1000,
ignored: /node_modules/
},
module: {
loaders: [
{
test: /\.scss$/,
include: [
path.resolve(__dirname, 'node_modules'),
path.resolve(__dirname, './sass')
],
loaders: ["style-loader", "css-loader", "sass-loader"]
}
],
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
},
{
enforce: 'pre',
test: /\.tsx?$/,
use: "source-map-loader"
}
]
},
sassLoader: {
includePaths: [path.resolve(__dirname, "./sass")]
},
resolve: {
modulesDirectories: ['./sass'],
extensions: [".tsx", ".ts", ".js", "scss"]
},
devtool: 'inline-source-map'
};
Примечания, когда я попробовал это в верхней части моей конфигурации:
var css = require("!raw-loader!sass-loader!./sass/lifeleveler.scss");
var css = require("!css-loader!sass-loader!./sass/lifeleveler.scss");
получил эту ошибку:
Error: Cannot find module '!raw-loader!sass-loader!./sass/lifeleveler.scss'
Вот почему я пошел именно с этим: var sass = require("./sass/lifeleveler.scss");
И мой файл lifleveler.scss (from my SASS project starter kit):
@import "vendors/normalize"; // Normalize stylesheet
@import "vendors/reset"; // Reset stylesheet
@import "modules/base"; // Load base files
@import "modules/defaults"; // Defaults elements
@import "modules/inputs"; // Inputs & Selects
@import "modules/buttons"; // Buttons
@import "modules/layout"; // Load Layouts
@import "modules/svg"; // Load SVG
@import "modules/queries"; // Media Queries
Любая, наконец, структура папок, вы видите какие-либо вопиющие проблемы?
I found this solution here, но я добавил свой ./sass
путь к modulesDirectories
массива и по-прежнему получаю сообщение об ошибке.
После еще рытье я нашел this Github issue and solution here, но его исправление не работает для меня тоже :(
Ах спасибо за это объяснение! : D Сработал ли он ... Я не понимал, как работает webpack. Теперь я вижу, что мои стили на самом деле в JS! В сочетании с templateCache позже, я думаю, все будет в 1 файле. Круто :) 20 часов, прежде чем я смогу это проверить! –
@LeonGaban, пожалуйста! рад помочь! – mrlew