【发布时间】:2018-08-17 17:00:11
【问题描述】:
我尝试将 purifycss-webpack 与 webpack 和 silverstripe 模板一起使用。 Purifycss 文档说它可以与模板和任何使用 CSS 选择器的东西一起使用。我把一切都准备好了。当我尝试运行它时,我得到了这个错误:
(function (exports, require, module, __filename, __dirname) { <section
SyntaxError: Unexpected token <
所以对我来说,模板似乎无法阅读。
这是我的 webpack 配置:
const glob = require('glob-all');
const path = require('path')
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-
plugin');
const {ImageminWebpackPlugin} = require("imagemin-webpack");
const imageminOptipng = require("imagemin-optipng");
const imageminGifsicle = require("imagemin-gifsicle");
const imageminJpegtran = require("imagemin-jpegtran");
const imageminSvgo = require("imagemin-svgo");
const PurifyCSSPlugin = require('purifycss-webpack');
module.exports = {
entry: {
app: ['./src/js/entry.js', './src/css/main.scss'],
},
output: {
filename: "js/[name].min.js",
path: path.resolve(__dirname, "./dist"),
},
mode: 'production',
module: {
rules: [
{
test: /\.ss/,
loader: 'silverstripe-template-loader'
},
{
test: /\.(scss|css)$/,
use: [
{
loader: 'style-loader'
},
{
loader: MiniCssExtractPlugin.loader
},
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'resolve-url-loader',
},
{
loader: 'sass-loader',
options: {
sourceMap: true
}
}
]
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['babel-preset-env']
}
}
},
{
test: /\.(png|svg|jpe?g|gif)$/,
loader: 'file-loader',
options: {
name: 'images/[name].[ext]',
publicPath: '/public/dist/',
}
},
]
},
plugins: [
new CleanWebpackPlugin(['dist']),
new MiniCssExtractPlugin({
filename: 'css/[name].min.css',
chunkFilename: "[id].css"
}),
new PurifyCSSPlugin({
paths: glob.sync([
path.join(require('/Users/foobar/Desktop/hsb/www/app/templates/DNADesign/Elemental/Layout/FBNewsHolder.ss')),
]),
}),
new ImageminWebpackPlugin({
imageminOptions: {
plugins:[
imageminOptipng({
optimizationLevel: 5
}),
imageminGifsicle({
interlaced: true
}),
imageminJpegtran({
progressive: true
}),
imageminSvgo({
removeViewBox: true
})
]
}
})
],
}
是他们将 purifycss 与 silverstripe tempaltes 一起使用的一种方式。
谁能帮我解决这个问题???
【问题讨论】:
标签: webpack silverstripe webpack-4