我已经构建了一个Aurelia应用程序,但是我不确定需要将什么推送到生产服务器。我已经阅读了Node并开始对它有所了解。如果仅推送dist文件夹(捆绑文件夹),index.html和package.json,服务器是否会自动使用json文件提取适当的软件包?还是我们必须在服务器的CLI上运行npm install来拉下那些软件包?如果必须这样做,那么我假设我们必须对jspm做同样的事情。
此外,连同json文件,我们是否需要将config.js推送到生产环境?
编辑
我刚运行了gulp导出,它会生成带有以下内容的导出文件夹:
dist文件夹
jspm_packages文件夹
config.js
index.html
favicon.ico
我复制所有这些文件并将其推入生产环境。我在main.js上得到的第一个错误是404
这是我的bundles.js文件
module.exports = {
"bundles": {
"dist/app-build": {
"includes": [
"[**/*.js]",
"**/*.html!text",
"**/*.css!text"
],
"options": {
"inject": true,
"minify": true,
"depCache": true,
"rev": false
}
},
"dist/aurelia": {
"includes": [
"aurelia-framework",
"aurelia-bootstrapper",
"aurelia-fetch-client",
"aurelia-router",
"aurelia-animator-css",
"aurelia-templating-binding",
"aurelia-polyfills",
"aurelia-templating-resources",
"aurelia-templating-router",
"aurelia-loader-default",
"aurelia-history-browser",
"aurelia-logging-console",
"bootstrap",
"bootstrap/css/bootstrap.css!text",
"fetch",
"jquery"
],
"options": {
"inject": true,
"minify": true,
"depCache": false,
"rev": false
}
}
}
};
我很困惑为什么它没有加载我的nprogress栏。我在404处搜索appName / jspm_packages / github / rstacruz-nprogress。为什么不自动将其配置为捆绑/导出?如何将其修复到自动包含所有引入的库的位置?
最佳答案
运行命令gulp export
。它将捆绑该应用程序,并将必要的文件(index.html,config.js等)复制到export
文件夹。然后,只需将导出文件夹复制到服务器。无需在生产中安装软件包。
编辑
安装软件包(例如nprogress)时,必须将其包括在捆绑文件中。捆绑包在build/bundles.js
中配置。 aurelia导航框架随附配置了2个捆绑包,一个捆绑包用于aurelia库,另一个捆绑包用于其余的应用程序。如果需要,还可以创建更多捆绑包。要将软件包添加到捆绑文件中,只需将其名称添加到特定的数组中,例如:
//...
"dist/aurelia": {
"includes": [
"aurelia-framework",
"aurelia-bootstrapper",
"aurelia-fetch-client",
"aurelia-router",
"aurelia-animator-css",
"aurelia-templating-binding",
"aurelia-polyfills",
"aurelia-templating-resources",
"aurelia-templating-router",
"aurelia-loader-default",
"aurelia-history-browser",
"aurelia-logging-console",
"bootstrap",
"bootstrap/css/bootstrap.css!text",
"fetch",
"jquery",
"nprogress"
],
//...
在上面的示例中,我将
nprogress
添加到aurelia
包中。您可以将其添加到app-build
捆绑软件中,甚至可以仅为nprogress创建另一个捆绑软件。现在,当您运行
gulp export
时,nprogress将被捆绑到aurelia-#######。js文件中,并且可以在生产中使用了。