Javascript 导入内联js脚本网页包
我正在使用Webpack编写一个角度应用程序 我有一个用户配置文件JavaScript对象,为了提高性能,我希望通过内联脚本将其模板化到索引页面中,这样客户端就不必发出另一个请求并延迟页面加载的其余部分 使用requirejs,您可以命名一个内联模块,以便以后可以依赖它。有什么方法可以完成这个网页包吗?还是我一直坚持要宣布它是一家全球性的公司 作为一个例子,这里是你可以在Require JS中做什么Javascript 导入内联js脚本网页包,javascript,webpack,Javascript,Webpack,我正在使用Webpack编写一个角度应用程序 我有一个用户配置文件JavaScript对象,为了提高性能,我希望通过内联脚本将其模板化到索引页面中,这样客户端就不必发出另一个请求并延迟页面加载的其余部分 使用requirejs,您可以命名一个内联模块,以便以后可以依赖它。有什么方法可以完成这个网页包吗?还是我一直坚持要宣布它是一家全球性的公司 作为一个例子,这里是你可以在Require JS中做什么 <html> <body> ... <script> def
<html>
<body>
...
<script>
define('userProfile', [
'angular'
], function(angular) {
return angular.module('userProfile', [])
.constant('userProfile', Object.freeze({
id: '$!{user.userid}',
name: '$!{user.fullname}',
userType: '$!{user.userType}'
}))
});
</script>
...
</body>
</html>
您可以在webpack配置中指定一个外部变量或模块,以便通过脚本标记将其包含在页面中。这就是我用脚本跳过库包的方法
// webpack.config.js
"externals": {
"jquery": "jQuery",
"angular": "angular"
},
但由于angular的工作原理,您不需要使用webpack导入模块
<script>
(function(angular) {
angular.module('userProfile', [])
.constant('userProfile', Object.freeze({
id: '$!{user.userid}',
name: '$!{user.fullname}',
userType: '$!{user.userType}'
}))
})(angular);
</script>
现在,您可以在角度应用程序中的任何位置使用用户配置文件常量
angular.module('whatever').controller(['userProfile', function (userProfile) {}]);
您只需确保在绑定之前执行userProfile脚本即可您可以在Web包配置中指定外部变量或模块,以便通过脚本标记将其包含在页面中。这就是我用脚本跳过库包的方法
// webpack.config.js
"externals": {
"jquery": "jQuery",
"angular": "angular"
},
但由于angular的工作原理,您不需要使用webpack导入模块
<script>
(function(angular) {
angular.module('userProfile', [])
.constant('userProfile', Object.freeze({
id: '$!{user.userid}',
name: '$!{user.fullname}',
userType: '$!{user.userType}'
}))
})(angular);
</script>
现在,您可以在角度应用程序中的任何位置使用用户配置文件常量
angular.module('whatever').controller(['userProfile', function (userProfile) {}]);
您只需确保在您的捆绑包发布之前执行userProfile脚本即可您可以分享一个您尝试实现的示例吗?您可以分享一个您尝试实现的示例吗?