在 ember.js 应用程序中获得 运行 的第一个 javascript 文件是什么? (在浏览器中)
What is the first javascript file that gets run in ember.js app? (in the browser)
ember 在浏览器 运行 中查找的第一个 javascript 文件是什么?我需要访问 localStorage,所以我正在寻找一个实际上是应用程序 js 一部分的文件,config/env 不会。
奖励积分:这对于使用模块统一的应用程序有什么不同吗?我(不幸的是)使用 ember 2.13。如果您知道人们最常将他们最早的应用程序初始化内容放在哪个文件中,那也会很有帮助。
背景信息:我需要修改 environment.js 中定义的一些设置,但我需要阅读 localStorage 以确定要应用的设置。因此,我不能在实际的 environment.js 文件本身中执行此操作。我碰巧将它用于某种 hack,但它更像是一个 testing/debugging/developer/inspection 实用程序函数,将在浏览器控制台的生产中使用。
你试过初始化器吗?您可以在 https://guides.emberjs.com/v3.1.0/applications/initializers/.
阅读有关它们的信息
你可以试试ember-patch-config。这是我在运行时甚至加载应用程序脚本之前为 patching/modifying 配置属性编写的一个小 npm 包。
安装
npm install ember-patch-config --save-dev
用法
首先您需要从其他位置导入 EmberApp
。不用担心,它扩展了安装在 node_modules
中的原始 EmberApp
:
// ember-cli-build.js
const EmberApp = require('ember-patch-config/ember-app');
module.exports = function (defaults) {
const app = new EmberApp(defaults, {
// ...
}
}
然后,在 app/index.html
中添加一个内联脚本(在应用程序和供应商脚本之前):
<!-- app/index.html -->
<!DOCTYPE html>
{{content-for 'rev-header'}}
<html>
<!-- ... -->
<body>
<!-- ... -->
<script>
window.configToPatch = {
property1: 'value1',
property2: 'value2',
property3: {
someKey: 'someValue'
},
property4: localStorage.getItem('property4')
};
</script>
<!-- ... -->
</body>
</html>
window.configToPatch
的内容将在运行时 深度合并 到模块 <your-app-name>/config/environment.js
中,在应用初始化之前(甚至在初始化程序之前)。
ember 在浏览器 运行 中查找的第一个 javascript 文件是什么?我需要访问 localStorage,所以我正在寻找一个实际上是应用程序 js 一部分的文件,config/env 不会。
奖励积分:这对于使用模块统一的应用程序有什么不同吗?我(不幸的是)使用 ember 2.13。如果您知道人们最常将他们最早的应用程序初始化内容放在哪个文件中,那也会很有帮助。
背景信息:我需要修改 environment.js 中定义的一些设置,但我需要阅读 localStorage 以确定要应用的设置。因此,我不能在实际的 environment.js 文件本身中执行此操作。我碰巧将它用于某种 hack,但它更像是一个 testing/debugging/developer/inspection 实用程序函数,将在浏览器控制台的生产中使用。
你试过初始化器吗?您可以在 https://guides.emberjs.com/v3.1.0/applications/initializers/.
阅读有关它们的信息你可以试试ember-patch-config。这是我在运行时甚至加载应用程序脚本之前为 patching/modifying 配置属性编写的一个小 npm 包。
安装
npm install ember-patch-config --save-dev
用法
首先您需要从其他位置导入 EmberApp
。不用担心,它扩展了安装在 node_modules
中的原始 EmberApp
:
// ember-cli-build.js
const EmberApp = require('ember-patch-config/ember-app');
module.exports = function (defaults) {
const app = new EmberApp(defaults, {
// ...
}
}
然后,在 app/index.html
中添加一个内联脚本(在应用程序和供应商脚本之前):
<!-- app/index.html -->
<!DOCTYPE html>
{{content-for 'rev-header'}}
<html>
<!-- ... -->
<body>
<!-- ... -->
<script>
window.configToPatch = {
property1: 'value1',
property2: 'value2',
property3: {
someKey: 'someValue'
},
property4: localStorage.getItem('property4')
};
</script>
<!-- ... -->
</body>
</html>
window.configToPatch
的内容将在运行时 深度合并 到模块 <your-app-name>/config/environment.js
中,在应用初始化之前(甚至在初始化程序之前)。