Go

时间:2016-11-18 20:27:08

标签: go sass

我开始使用Go进行Web开发,但我遇到资产管理问题。我更喜欢使用像Rails'Asset Pipeline这样的工具来管理(和压缩)css / js文件(以及SASS),但我仍然可以使用css和js文件。

虽然我能够使用css和js,但我无法使用SASS。有没有办法在Golang项目中使用SASS?我没有使用框架。

谢谢!

1 个答案:

答案 0 :(得分:1)

我不熟悉Ruby on Rails,但我认为,ruby on rails为您提供了一些工具来管理源到分发客户端资产转换(polyfill,转换,缩小,编译SASS / SCSS)到CSS,将XScript编译为JavaScript ......等。)

虽然Web开发框架可能会在开发人员中快速尝试和轻松(我认为rails会这样做,而不是ruby),但这并不完全是Go所做的事情。

Go是一种语言,不是框架+语言,只是一个编译器,一些构建工具和一套关于如何编写,测试,记录和缩进内容的标准(缩进,测试和文档部分是可选的)

go服务器,至少我用go构建服务器的方式,与客户端有点脱钩。它在需要时服务于静态资产(例如,它提供缩小的JavaScript和样式表和html,以及来自数据库的信息的jsons等),但它并不真正关心它们是什么,它是一个服务器。 go工具链用于构建golang应用程序(例如,所述服务器),但它不是用于构建客户端Web应用程序(由js,css和html组成的那些)。

现在,您可以使用类似于go中编写的rails的框架,这有助于“收拾”css,js,html。但我不知道是否有。

如果您喜欢go toolchian并希望将其用于客户端开发,您可以使用转换为客户端代码(即javascript)https://github.com/gopherjs/gopherjs的编译器。但是,像go一样的性能不会给你带来和你正在使用go的一个子集。它实际上只是编写javascript的另一种方式。

但是,在您的情况下,您最需要的是为您的客户端提供“构建链”。这里有3种工具(我认为)在2016年脱颖而出:

NPM 的WebPack 亭子

我可以写一篇关于使用这个工具的文章,但这里是摘要:

Webpack用于为你的代码创建一个“管道”,就像在javascript上调用babel,编译sass到css,缩小资源,允许js用导入语法编写......等等,真的,它的一个swis军刀在你的js开发武器库中,可能与之前使用的任何功能相匹配。

即使您没有为您的服务器使用节点,Npm也是节点包管理器BUT。保留用于构建应用程序(如webpack)和下载模块的依赖项跟踪非常有用。它对于运行各种脚本和部署也很有用,使用npm和weback有点过分,如果你有一个package.json(npm的配置文件)你可能会更容易设置webpack环境你的项目。

Bower是我实际上不用于小项目的人。但它基本上是javascript库的存储库(除其他外),因此您可以轻松地说,编写“bower install jquery”并且您已经为当前项目下载了jQuery。

同样,还有很多其他工具,这些只是我喜欢的一些工具,但是,请检查一下。他们可以帮助您替换以前的管道。不要认为客户端和服务器端代码是相同的,它们是分离的,它们之间有很强的分离可能对你有很大的帮助。