我正在使用angular 1.5和webpack来生成带有角度应用程序的 dist 文件夹。
这是我的文件夹结构:
--app
--dist
--loginComponent
--login.html
--homeComponent
--home.html
...
--app.css
--app.js
--index.html
这是我的index.html:
<!doctype html>
<html lang="es" ng-app="firmaDigitalApp" ng-strict-di>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="dist/app.css">
<script src="dist/app.js"></script>
</head>
<body>
<app></app>
</body>
</html>
到目前为止一切顺利,问题是app.js生成的是不是通过其路径以相对方式访问html,因此无法找到资源(而不是在 context <中查找home.html /em>/dist/homeComponent.html,它正在 context /homeComponent.html中查找它。
以防万一,这是homeModule.js:
require('./administradorComponent/administradorModule.js');
require('./definicionComponent/definicionModule.js');
var controller = require('./homeController');
var homeModule = angular.module('homeModule', [ 'administradorModule', 'definicionModule' ]);
homeModule.component('homeComponent',
{
templateUrl : 'homeComponent/home.html',
$routeConfig : [
{
path : '/administrador/...',
name : 'Administrador',
component : 'administradorComponent',
useAsDefault : true
}]
});
homeModule.controller('homeController', [ '$rootScope', '$location', '$log', controller ]);
我可以做什么,以便我的角度应用程序资源使用相对路径相互访问,所以我不必一遍又一次地键入 dist / ?
如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
我建议您使用html-loader
将模板内置到输出文件中(即templateUrl
),而不是使用app.js
。如果你设置了它,你可以这样做:
template: require("homeComponent/home.html") // Resolves to a string
这将导致您的捆绑包需要花费更长的时间来预先下载,因为所有模板也会被加载,但是您不必等待模板在组件初始化时异步加载,所以它在我看来是均匀的。