Ember-CLI:在 Brocfile.js 中包含应用程序文件
Ember-CLI: include app file in Brocfile.js
我有一个配置设置要包含在 Brocfile.js 中,这样我就不会直接在文件中设置它。例如,在 config/custom.js 我会有这样的东西:
export default {
path: 'http://abc.blah.com/'
};
在我的 Brocfile 中,我想做类似的事情:
if (process.env.EMBER_ENV === 'development') {
app.options.inlineContent = {
assetPrefix: {
content: customConfig.path
}
};
}
如何在我的 Brocfile 中 import/include custom.js 并使用它的 path 属性?我尝试导入,但得到:
import config from 'config/custom.js';
^^^^^^
Unexpected reserved word
更新:
根据下面的回答,我的文件最终看起来像这样:
// config/custom.js
module.exports = {
assetPrependPath: 'http://abc.blah.com/'
};
// Brocfile.js
var customConfig = require('./config/custom');
...
if (process.env.EMBER_ENV === 'development') {
app.options.inlineContent = {
assetPrefix: {
content: customConfig.assetPrependPath
}
};
}
你收到错误是因为 Brocfile.js
没有被 ES6 解析器解析。这是因为 Brocfile 不在您的应用程序树(应用程序目录)中。因此,您不能在 Brocfile 中使用类似 import
的语法。
您的 Brocfile 用于构建应用程序。环境特定变量,例如您在 if (process.env.EMBER_ENV === 'development')
中设置的变量,应该放入 Ember CLI 的 config/environment.js
文件中。 environment.js
的 ENV.APP
对象中的任何属性都会传递给您的应用程序实例和插件。因此,根据您的最终目标,您可以采用这种方法而无需导入 Brocfile。
如果你真的想将某些东西导入到你的 Brocfile 中,你将需要使用像 require.js:
这样的模块加载器
var Config = require('path/to/config.js');`
... 然后在你的 path/to/config.js
文件中:
module.exports = {
// Options here
}
资产修订
查看您的用例,您可能想要查看像 broccoli-asset-rev 这样的 Broccoli 插件来为您完成繁重的工作。
我有一个配置设置要包含在 Brocfile.js 中,这样我就不会直接在文件中设置它。例如,在 config/custom.js 我会有这样的东西:
export default {
path: 'http://abc.blah.com/'
};
在我的 Brocfile 中,我想做类似的事情:
if (process.env.EMBER_ENV === 'development') {
app.options.inlineContent = {
assetPrefix: {
content: customConfig.path
}
};
}
如何在我的 Brocfile 中 import/include custom.js 并使用它的 path 属性?我尝试导入,但得到:
import config from 'config/custom.js';
^^^^^^
Unexpected reserved word
更新:
根据下面的回答,我的文件最终看起来像这样:
// config/custom.js
module.exports = {
assetPrependPath: 'http://abc.blah.com/'
};
// Brocfile.js
var customConfig = require('./config/custom');
...
if (process.env.EMBER_ENV === 'development') {
app.options.inlineContent = {
assetPrefix: {
content: customConfig.assetPrependPath
}
};
}
你收到错误是因为 Brocfile.js
没有被 ES6 解析器解析。这是因为 Brocfile 不在您的应用程序树(应用程序目录)中。因此,您不能在 Brocfile 中使用类似 import
的语法。
您的 Brocfile 用于构建应用程序。环境特定变量,例如您在 if (process.env.EMBER_ENV === 'development')
中设置的变量,应该放入 Ember CLI 的 config/environment.js
文件中。 environment.js
的 ENV.APP
对象中的任何属性都会传递给您的应用程序实例和插件。因此,根据您的最终目标,您可以采用这种方法而无需导入 Brocfile。
如果你真的想将某些东西导入到你的 Brocfile 中,你将需要使用像 require.js:
这样的模块加载器var Config = require('path/to/config.js');`
... 然后在你的 path/to/config.js
文件中:
module.exports = {
// Options here
}
资产修订
查看您的用例,您可能想要查看像 broccoli-asset-rev 这样的 Broccoli 插件来为您完成繁重的工作。