tl;dr:gulp.babel.js 文件中的 purifycss 配置错误。
我也有这个问题。我的设置:
我可以通过使用选项卡和输入键来使响应式下拉菜单工作。这意味着相关的js文件正在正确加载。导航“汉堡”也没有出现。
在使用 chrome 开发工具检查基础网站上的响应式下拉菜单示例时,我注意到样式<button class="menu-icon" type="button" data-toggle=""></button>
受.menu-icon
scss 部分 _menu-icon.scss 中的 CSS 规则的影响。我的不是。当我查看时,来自app/的foundation.scss文件具有完全相同的样式规则。转换后的foundation.css由.tmp/文件夹提供,但没有CSS 规则。然后我再次怀疑 purifycss (我之前已经从 gulp 文件中注释掉并且忘记重置 gulp 服务,没有看到任何修复,因此错误地从嫌疑人列表中排除了 purifycss 规则)。.menu-icon
我像这样设置我的 gulp 样式任务:
gulp.task('styles', () => {
return gulp.src('app/styles/*.scss')
.pipe($.plumber())
.pipe($.sourcemaps.init())
.pipe($.sass.sync({
outputStyle: 'expanded',
precision: 10,
includePaths: ['.']
}).on('error', $.sass.logError))
.pipe($.autoprefixer({browsers: ['> 1%', 'last 2 versions', 'Firefox ESR']}))
/*Stupidly assumed that purifycss supported jade files as src files*/
.pipe($.purifycss(['app/**/*.js', 'app/*.jade']))
.pipe($.sourcemaps.write())
.pipe(gulp.dest('.tmp/styles'))
.pipe(reload({stream: true}));
});
这意味着正在删除必要的样式(包括.menu-icon
)。我想我会使用 stylperjade 或重新安排任务以便我可以这样做:.pipe($.purifycss(['app/**/*.js', '.tmp/*.jade']))
\
让我知道这是否也是您的解决方案