Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导入内联js脚本网页包_Javascript_Webpack - Fatal编程技术网

Javascript 导入内联js脚本网页包

Javascript 导入内联js脚本网页包,javascript,webpack,Javascript,Webpack,我正在使用Webpack编写一个角度应用程序 我有一个用户配置文件JavaScript对象,为了提高性能,我希望通过内联脚本将其模板化到索引页面中,这样客户端就不必发出另一个请求并延迟页面加载的其余部分 使用requirejs,您可以命名一个内联模块,以便以后可以依赖它。有什么方法可以完成这个网页包吗?还是我一直坚持要宣布它是一家全球性的公司 作为一个例子,这里是你可以在Require JS中做什么 <html> <body> ... <script> def

我正在使用Webpack编写一个角度应用程序

我有一个用户配置文件JavaScript对象,为了提高性能,我希望通过内联脚本将其模板化到索引页面中,这样客户端就不必发出另一个请求并延迟页面加载的其余部分

使用requirejs,您可以命名一个内联模块,以便以后可以依赖它。有什么方法可以完成这个网页包吗?还是我一直坚持要宣布它是一家全球性的公司

作为一个例子,这里是你可以在Require JS中做什么

<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脚本即可

您可以分享一个您尝试实现的示例吗?您可以分享一个您尝试实现的示例吗?