[英]Webpack Encore - Module rules - Error when export/import scss variables into javascript
我嘗試將scss / css變量導入javascript。 我偶然發現了這篇博客文章,其中使用了:export
塊 。
我npm install
sass-loader
和node-sass
只是為了確保我有它們。 現在當我使用:export
,出現一個錯誤,告訴我sass不是有效的CSS:
$theme-colors: (
"primary": #bc2a0a,
"secondary": #4B5C74,
...
);
:export {
colorPalette: $theme-colors // Error occurs because of using sass variable
}
模塊構建失敗:(“ primary”:#bc2a0a,“ secondary”:#4B5C74,...)不是有效的CSS值。
我很確定這是因為我不知道如何應用模塊規則。 我當前的webpack.config.js
如下所示:
let Encore = require('@symfony/webpack-encore');
let webpack = require('webpack');
const path = require('path');
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.addEntry('vendors', [
'react',
'react-dom',
'extend',
'prop-types',
'jquery',
'ApiRouter',
'translator',
'moment',
'moment-timezone',
'./vendor/boewa/glyphicons/src/css/glyphicons.css'
])
.addEntry('app', [
'./assets/js/main.js',
'./assets/css/app.scss',
])
.enableSassLoader()
.enableReactPreset()
// Some plugins
.addPlugin(...).addPlugin(...)
.autoProvidejQuery()
.configureFilenames({
images: '[path][name].[ext]',
})
;
let config = Encore.getWebpackConfig();
config.resolve.alias = {
'ApiRouter': 'Common/Networking/ApiRouter.js',
'translator': 'Common/Translator.js'
};
config.resolve.modules = [
path.resolve('./assets/js'),
path.resolve('./node_modules')
];
module.exports = config;
那么,如何使:export
起作用,以便可以在javascript中使用sass / css變量?
您需要在項目中將CSS模塊安裝為依賴項,並在webpack配置中啟用它。
這是一個例子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.