在我的index.html中构建我的应用程序后,文件引用如下所示,
<script type="text/javascript" src="inline.c15b1b72bcd63b7c92ca.bundle.js"></script>
(例如我仅针对此文件显示)。
因为,我必须在服务器“xyzwebsite.com/app”中运行我的应用程序。
我需要将捆绑的文件复制到“app”文件夹,但是当我尝试这样做时,我发现 404 not found 错误。
我是Angular cli的新手,并捆绑了应用程序和所有这些特技!我该如何解决这个问题?
提前致谢!
答案 0 :(得分:5)
ng build - base-href / app /
起初我预计更改index.html中的基本标记会起到作用: 但是在构建之后它似乎被设置为默认值(/),除非你添加上面提到的选项。
答案 1 :(得分:4)
使用webpack.config.js
如果您想要更多控制权来使用webpack.config.js
文件而不是.angular-cli.json
文件来更改包路径,那么请执行此操作。
1. Run `ng eject`
此命令将在根目录中公开webpack.config.js
文件。您可以配置该文件。
2. Run `npm install`
由于npm eject会添加与加载器相关的新依赖项,因此需要安装这些依赖项,可以使用上面的命令完成。
3. "output": {
"path": path.join(process.cwd(), "dist"),
"filename": "scripts/[name].[chunkhash:20].bundle.js",
"chunkFilename": "scripts/[id].[chunkhash:20].chunk.js"
}
在webpack.config.js
文件编辑输出条目中,为JS文件添加所需的目录名,如上所示。使用它,您可以控制捆绑路径。
我希望这会有所帮助!
答案 2 :(得分:2)
根据official documentation,您只需指定root
和outdir
参数即可定义文件的位置。只需将它们设置到您的/ app目录即可。
在我看来,不得不将生成的文件移动到其他地方似乎不是一个好主意,更好的方法是直接在正确的位置生成它们。