【问题标题】:How do I implement a Punch Autoprefixer Pre-Processor?如何实现 Punch Autoprefixer 预处理器?
【发布时间】:2016-02-21 01:48:36
【问题描述】:

我想为Punch 静态站点生成器实现一个autoprefixer 预处理器。

但是,用 Punch 的说法,我不确定这是否符合编译器、压缩器等的条件。我尝试了以上所有方法都无济于事。

这是我最近尝试让任何东西正常工作:

./autoprefixer.js

module.exports = {
    input_extensions: [".css"],
    force_compile: true,
    compile: function(input, filename, callback){
        return callback(null, "*{color: red;}");
    }
};

config.json

...
    "plugins": {
        "compilers": {
            ".css": "punch-sass-compiler",
            ".css": "autoprefixer"
        }
    }
...

result

/home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62
                        if (compiler && compiler.input_extensions.indexOf(template_extension) > -1)
                                                                 ^
TypeError: Cannot read property 'indexOf' of undefined
  at /home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62:45
  at /home/peter/projects/website/node_modules/punch/lib/template_handler.js:119:11
  at fs.js:334:14
  at /home/peter/projects/website/node_modules/punch/node_modules/fstream/node_modules/graceful-fs/graceful-fs.js:42:10
  at FSReqWrap.oncomplete (fs.js:95:15)

谁能引导我朝着正确的方向前进?

【问题讨论】:

    标签: javascript node.js static-site


    【解决方案1】:

    目前看来,punch 编译器只能从不同的扩展名进行编译(比如.mycss 或.less)。使用它,你就快到了:

    在module.exports 中,input_extensions: 必须设置为您想要的扩展名(不是.css),例如[".mycss"].

    "plugins": {
        "compilers": {
            ".css": "punch-sass-compiler",
            ".css": "autoprefixer"
        }
    }
    

    真的很奇怪,因为您定义了两次相同的键。删除punch-sass-compiler 行。如果你想调用另一个编译器,只需在你的编译器代码中require它的模块,调用另一个编译器并根据你的喜好修改提供的输出。

    打孔缩小器不适合您的目标,因为它们只参与生产(使用punch g),而不是在开发时。

    【讨论】:

    • 谢谢!这些信息都非常有用。 (我不敢相信我忽略了那个重复的键...... :!)我会自己看一下,但你知道添加对常见扩展的支持是否可行吗?现有行为是出乎意料的。如果不是太多工作,我可能会考虑提交补丁。不过,看起来上游项目可能已被放弃。
    • @pdoherty926 输出扩展名必须与输出不同,仅此而已。如果您的输入文件无论如何都是 sass,为什么不将它们命名为 .scss?
    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 2018-03-08
    • 1970-01-01
    • 2014-08-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多