我已经构建了Aurelia应用程序,但我不确定需要将哪些内容推送到生产服务器。我已经读过Node了,我开始更多地掌握它了。如果我们只是推送dist文件夹(捆绑文件夹),index.html和package.json,服务器是否会自动使用json文件来下拉相应的包?或者我们是否必须在服务器的CLI上运行npm install来下载这些软件包?如果我们必须这样做,那么我假设我们必须对jspm做同样的事情。
此外,与json文件一起,我们是否需要将config.js推送到生产?
修改
我刚刚运行gulp export,它会生成一个导出文件夹,其中包含以下内容:
我复制了所有这些文件并将其推送到生产环境中。第一个错误我在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。为什么不自动将其配置为捆绑/导出?如何将其修复到自动包含我带来的所有库的位置?
答案 0 :(得分:2)
运行命令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文件中,它将准备好在生产中工作。