如何在Odoo v9中使用Sass而不是Less?
我按照official documentation的指导原则进行了非常基本的设置。它的效果与Less相同,但我无法与Sass合作。 views/assets.xml
中的关注点如下所示:
<link href="/theme_name/static/less/style.less" rel="stylesheet" type="text/less"/>
但是当我把它改成scss时:
<link href="/theme_name/static/scss/style.scss" rel="stylesheet" type="text/scss"/>
我的样式不再加载了。也没有错误。
值得一提的是,当我尝试链接类型text/sass
无法执行命令&#39; sass&#39;
答案 0 :(得分:2)
终于有时间研究这个并找出编译样式表背后的魔力。
首先关闭,SCSS
语法不支持。正确的链接或样式标记类型为text/sass
或text/less
。 Odoo确定语法的第二种方式是文件扩展名.sass
或.less
。您可以设置其中一个或两个,结果相同。请参阅code responsible for the magic。
其次,错误消息表明底层操作系统在其当前执行PATH中没有命令sass
。命令本身必须由您预先安装。
Odoo在活动系统PATH中查找可执行文件sass
,并使用特定选项listed here调用它。
有不同版本的sass编译器,但Odoo期望它是ruby version。
有关详细信息,请参阅sass homepage中的安装部分。
除了sass,你还需要指南针和 bootstrap-sass ruby gems。
您决定安装所有这些取决于您的操作系统,环境设置和品味,但您需要 ruby版本&gt; 2.0 。
奖金:这就是我在Ubutnu 14.04中的表现。
默认情况下,Ubuntu有ruby 1.9。用dpkg -s ruby
检查你得到了什么。
幸运的是有一个托管它的存储库。所以,让我们添加并安装ruby 2.3。
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.3 ruby2.3-dev
您也需要-dev包。立即使用ruby -v
检查您的红宝石版本。
接下来,您必须安装所需的宝石:
gem install sass compass bootstrap-sass --user-install
我在我的开发机器中使用选项--user-install
将gems安装到我的主目录,而不是全局。这又取决于您的预先设置和系统设置。但一般来说,运行odoo的用户也必须拥有这些宝石的执行权限,无论它们在哪里。
答案 1 :(得分:1)
如果您使用的是ubuntu并且有错误/警告 sass &amp;你的odoo webapp中的 lessc 等, 然后你应该尝试跟随他们: -
[移除Hotch Potch]
$ sudo su # Switch To Root Before Working ##
# rm -f /usr/bin/lessc /usr/bin/node
# apt remove node*
# cd /etc/apt/sources.list.d
# rm -f chris-lea-node_js-trusty.list *.save neurobin-ppa-trusty.list noobslab-apps-trusty.list
# rm -f /var/cache/apt/archives/lock
# apt-get clean
[安装必需的代表]
# apt-get install python-pip python-dev libevent-dev gcc libxml2-dev libxslt-dev node-less libldap2-dev libssl-dev build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev python-software-properties ruby -y
[安装兼容的NodeJs&amp; lessc]
# apt-add-repository ppa:chris-lea/node.js
# apt-get update
# apt-get install nodejs
# npm install -g npm
# npm install -g less less-plugin-clean-css
# npm install -g less
# npm install -g node-less
# rm -f /etc/apt/sources.list.d/*.save /etc/apt/sources.list.d/*.log
[安装Ruby&gt; 2.0&amp;必需的Sass宝石]
# cd /tmp
# wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p481.tar.gz
# tar -xvzf ruby-2.0.0-p481.tar.gz
# cd ruby-2.0.0-p481/
# ./configure --prefix=/usr/local
# make
# make install
# ruby --version # Should be greater than 2.0
# gem install sass
# gem install bootstrap-sass
# gem install compass
[启动您的WebApp]
# cd <path to main source code>
# python openerp-server -c openerp-server.conf
谢谢! n玩得开心!!