Twitter bootstrap 3 在Phoenix框架中集成引导主题
我一直在构建一个流星应用程序,并决定放弃它,转而支持凤凰。我遇到的问题是试图将预先制作的引导主题与我的应用程序集成。我需要能够控制CSS、Sass和JavaScript的加载顺序。在Meteor中,将加载顺序放在package.json文件中,并为其构建自定义包。此外,您不必在HTML中包含导入语句。因此,我的具体问题如下: 如何控制文件的加载顺序 所有JavaScript、CSS、Sass和图像文件应该放在哪里?(我猜是在静态供应商目录中?) 我确实需要在HTML文件中包含导入语句,对吗Twitter bootstrap 3 在Phoenix框架中集成引导主题,twitter-bootstrap-3,phoenix-framework,Twitter Bootstrap 3,Phoenix Framework,我一直在构建一个流星应用程序,并决定放弃它,转而支持凤凰。我遇到的问题是试图将预先制作的引导主题与我的应用程序集成。我需要能够控制CSS、Sass和JavaScript的加载顺序。在Meteor中,将加载顺序放在package.json文件中,并为其构建自定义包。此外,您不必在HTML中包含导入语句。因此,我的具体问题如下: 如何控制文件的加载顺序 所有JavaScript、CSS、Sass和图像文件应该放在哪里?(我猜是在静态供应商目录中?) 我确实需要在HTML文件中包含导入语句,对吗 这个
这个主题相当大,有一堆JavaScript文件、字体很棒、引导CSS、自定义CSS、Sass、图像和厨房水槽。在凤凰城,可以这样完成: 您需要在package.json文件中包含sass早午餐包,并运行npm安装,例如
{
"repository": {
},
"dependencies": {
"brunch": "^1.8.5",
"babel-brunch": "^5.1.1",
"clean-css-brunch": ">= 1.0 < 1.8",
"css-brunch": ">= 1.0 < 1.8",
"javascript-brunch": ">= 1.0 < 1.8",
"sass-brunch": "^1.8.10",
"uglify-js-brunch": ">= 1.0 < 1.8"
}
}
@import "../vendor/css/bootstrap";
下一部分可能是您难以理解的部分,因为I=o)。对于javascript文件,您需要在brunch config.js文件中使用它们,如下所示:
exports.config = {
// See http://brunch.io/#documentation for docs.
files: {
javascripts: {
joinTo: "js/app.js",
order: {
before: [
"web/static/vendor/js/jquery.min.js",
"web/static/vendor/js/bootstrap.min.js",
"web/static/vendor/js/scripts.js"
]
}
},
stylesheets: {
joinTo: "css/app.css"
},
templates: {
joinTo: "js/app.js"
}
},
conventions: {
// This option sets where we should place non-css and non-js assets in.
// By default, we set this to "/web/static/assets". Files in this directory
// will be copied to `paths.public`, which is "priv/static" by default.
assets: /^(web\/static\/assets)/
},
// Phoenix paths configuration
paths: {
// Dependencies and current project directories to watch
watched: [
"deps/phoenix/web/static",
"deps/phoenix_html/web/static",
"web/static",
"test/static"
],
// Where to compile files to
public: "priv/static"
},
// Configure your plugins
plugins: {
babel: {
// Do not use ES6 compiler in vendor code
ignore: [/web\/static\/vendor/]
}
},
modules: {
autoRequire: {
"js/app.js": ["web/static/js/app"]
}
},
npm: {
enabled: true
}
};
在html.eex文件中包含导入语句和脚本src,对吗?为了确保我有这个权利,我需要将app.css更改为app.scss,在我的早午餐配置中添加scss支持,将我的所有css和scss文件导入app.scss,并将所有css和js文件放入供应商文件夹。听起来对吗?没错,ceero,通过这种方式,您将能够按照主题需要导入文件的顺序导入它们。至于html.eex文件,您不需要单独导入或链接到这些文件,因为phoenix与brunch合作将使用brunch build将所有文件编译并压缩为一个css和一个js文件,当您准备投入生产时,您将希望运行mix phoenix.digest,它将消化您的资产这些文件已经链接到您的主布局文件app.html.eex文件中,该文件位于web/templates/layout.Got it中。这就是我想要的解释。Phoenix是否允许您根据路线使用多个布局?它允许ceero,您可以在这里和这里看到它是如何实现的