Обзор: Я пытаюсь скомпилировать S CSS, используя Webpack с "node-sass", "sass-loader", "css -loader", & "style-loader" и никакой конкретной JS инфраструктуры, кроме Typescript как JS.
Я перепробовал все, что могу придумать или найти в inte rnet, включая установку более старых версий этих зависимостей Я знаю, что работают в других проектах. На данный момент, я в своем уме. Кто-нибудь может заметить, что я делаю неправильно?
Пожалуйста, дайте мне знать, если мне нужно добавить какие-либо подробности.
Наблюдаемая ошибка:
ОШИБКА в ./src/styles/base.scss 1: 0
Ошибка синтаксического анализа модуля: неожиданный символ '@' (1: 0)
Возможно, вам понадобится соответствующий загрузчик для обработки этого типа файлов, в настоящее время загрузчики не настроены для обработки этого файла. См. https://webpack.js.org/concepts#loaders @import 'reset';
|
| / *
@ ./src/layouts/page.ts 21: 0-30
@ ./app.ts
ℹ 「wdm」: Не удалось скомпилировать.
пакет. json подробности:
- Основной файл:
"main": "app.ts"
- Варианты комплектации:
"devDependencies": {
"@types/webpack": "^4.41.10",
"@types/webpack-dev-server": "^3.10.1",
"css-loader": "^3.4.2",
"node-sass": "^4.13.1",
"sass-loader": "^8.0.2",
"style-loader": "^1.1.3",
"svg-inline-loader": "^0.8.2",
"ts-loader": "^6.2.2",
"typescript": "^3.8.3",
"webpack": "^4.42.1",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
}
- Запуск сценария запуска:
"start": "webpack-dev-server --open"
Конфигурация Webpack :
const path = require('path');
const CWD = process.cwd();
const sass = require('node-sass');
module.exports = {
devtool: 'eval-source-map',
devServer: {
port: 4001
},
entry: {
app: './app.ts'
},
output: {
chunkFilename: '[id].js',
path: path.resolve(__dirname, 'dist'),
filename: '[name].bundle.js',
},
mode: 'development',
module: {
rules: [{
exclude: /node_modules/,
test: /\.ts$/,
loader: 'ts-loader'
},
{
test: '/\.(css|scss)$/',
use: [
// Creates `style` nodes from JS strings
'style-loader',
{
// Translates CSS into CommonJS
loader: 'css-loader',
options: {
modules: true
}
},
{
// Compiles Sass to CSS
loader: 'sass-loader',
options: {
sassOptions: {
includePaths: [path.resolve(CWD, 'src/styles')]
}
}
}
]
}]
},
// Fixes npm packages that depend on `fs` module
node: {
fs: 'empty'
},
resolve: {
extensions: ['.css', '.js', '.scss', '.ts'],
modules: [
'node_modules',
path.resolve(__dirname)
]
},
target: 'web'
};