sto cercando di usare cose come font-impressionante e fondazione con reagiscono e moduli css ma non riesco a capire come importarli nel mio progetto correttamente .Importazione vendor css quando si utilizza WebPack + css componenti
Nota che sto utilizzando HotModuleReplacementPlugin
e ExtractTextPlugin
per ottenere un singolo file css.
Da qualche parte nel file css del componente di primo livello mi piacerebbe essere in grado di fare solo @import 'font-awesome';
ma come posso fare in modo che il file verrà trattato così com'è e le classi non finiranno localizzate per font_awesome__fa-check
e così?
Questo è il mio webpack config:
var paths = {
app: path.join(__dirname, './app/'),
dist: path.join(__dirname, './dist/'),
external: path.join(__dirname, './node_modules/'),
}
module.exports = {
entry: {
site: [
'webpack-dev-server/client?http://localhost:5000',
'webpack/hot/dev-server',
path.join(paths.app, '/index.js'),
]
},
output: {
path: paths.dist,
publicPath: '/',
filename: 'scripts/[name].[hash].js',
chunkFilename: '[name].[chunkhash].js'
},
resolve: {
extensions: ['', '.js'],
root: paths.app,
alias: {
'font-awesome.css': path.join(paths.external, '/font-awesome/css/font-awesome.min.css')
}
},
module: {
loaders: [
{
test: /\.jsx?$/,
loaders: ['babel'],
include: path.join(__dirname, 'app')
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader?modules&localIdentName=[name]__[local]&importLoaders=1', 'postcss-loader')
}
]
},
postcss: [
require('autoprefixer-core'),
],
devtool: 'inline-source-map',
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new ExtractTextPlugin("styles/[name].[chunkhash].css", {allChunks: true}),
new HtmlWebpackPlugin({
template: path.join(paths.app, '/site.html'),
filename: 'index.html',
inject: 'body',
chunks: ['site']
}),
]
};
Grazie.
Grande! Funziona davvero. Nota che devo richiedere il css esterno dal js però. L'importazione da un modulo css renderà tutto ancora locale. Grazie – syko
@syko ho finito per usare una diversa estensione per i file con la sintassi CSS-moduli nei miei progetti. vedi la mia risposta aggiornato – lanan
@Shvetusya vostra un risparmiatore di vita. I plugin di estrazione BTW ora dovrebbero avere un fallback. '' ' {test: /\.css$/, include: [resolve ('./src/styles'),/node_modules /], usa: ExtractTextPlugin.extract ({fallback: 'style-loader', usa : [ 'css-loader']})}, '' ' – caffeinescript