如何为使用 ExpressJs 服务器的 NodeJs 应用程序设置基础 URL 并为前端设置 AngularJs?
How to set a base URL for NodeJs applications using ExpressJs server and AngularJs for frontend?
我想在我的应用程序加载到浏览器时向它添加一个基础 URL。
我的 expressJs 配置是:
App.js
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(expressSanitizer());
app.use(express.static(__dirname + '/webapp'));
app.engine('html',require('ejs').renderFile);
app.set('view engine', 'html');
AngularJs 路由器配置:
index.js
$urlRouterProvider
.when('','login')
.when('/','login')
.otherwise(function($injector, $location){
var state= $injector.get('$state');
state.go('error', { url: $location.path() }, { location: true });
});
//define states
$stateProvider
.state('/',{
templateUrl: 'public/login.html',
controller: 'login',
authenticated:false
})
.state('login',{
url: '/login',
templateUrl: 'public/login.html',
authenticated:false
// controller: 'login'
// template: '<h1> Routing to login page </h1>'
})
我希望它类似于我们在 Apache 中部署应用程序时的情况 Tomcat。
当前,当我启动服务器时,url 类似于 localhost:8080/login
,但我希望它是 localhost:8080/CRM/login
于是,我就这样想出了解决办法
我在我的 index.html 中添加了一个基本标签,并在我的 App.js
中的所有 api 中添加了“/CRM”
index.html
<base href="/CRM/">
App.js
app.use('/CRM/users',appRoutes);
我想在我的应用程序加载到浏览器时向它添加一个基础 URL。
我的 expressJs 配置是:
App.js
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(expressSanitizer());
app.use(express.static(__dirname + '/webapp'));
app.engine('html',require('ejs').renderFile);
app.set('view engine', 'html');
AngularJs 路由器配置:
index.js
$urlRouterProvider
.when('','login')
.when('/','login')
.otherwise(function($injector, $location){
var state= $injector.get('$state');
state.go('error', { url: $location.path() }, { location: true });
});
//define states
$stateProvider
.state('/',{
templateUrl: 'public/login.html',
controller: 'login',
authenticated:false
})
.state('login',{
url: '/login',
templateUrl: 'public/login.html',
authenticated:false
// controller: 'login'
// template: '<h1> Routing to login page </h1>'
})
我希望它类似于我们在 Apache 中部署应用程序时的情况 Tomcat。
当前,当我启动服务器时,url 类似于 localhost:8080/login
,但我希望它是 localhost:8080/CRM/login
于是,我就这样想出了解决办法
我在我的 index.html 中添加了一个基本标签,并在我的 App.js
中的所有 api 中添加了“/CRM”index.html
<base href="/CRM/">
App.js
app.use('/CRM/users',appRoutes);