【问题标题】:How to pass browserify --require file to angular module?如何将 browserify --require 文件传递​​给 Angular 模块?
【发布时间】:2017-03-01 08:23:46
【问题描述】:

我已经为 Angular SPA 设计了一个构建,使用 NPM 调用 browserify 脚本来捆绑它,即您可以从终端运行 npm run build:js,它调用 package.json 中的以下脚本:

"build:js": "browserify -r ./params-dev.js -e src/app/index.js -o build/index.js"  

我现在要做的是为 prod 和 QA 创建两个不同的配置对象。每个都需要一个不同的文件:params-dev.js 或 params-prod.js(如上面的命令)。

我想知道如何在结果包中访问这些变量?它们是特定于环境的,其中一些指向分析代码等。此外,我正试图将它们移出它们当前所在的全局范围。

这里是我想包含在捆绑包中的 params 文件示例。将有一个用于生产,一个用于 QA:

var merge = require('merge'),
    params = require('./params')

exports.config = merge(params, {
    env: 'prod',
    analyticsCode: 'blah08yweblah2e823lnblah',
    otherProps: '...etc...'
})

那么我现在如何在我的 AngularJS 模块中访问这些变量呢?我觉得我在这里遗漏了一些明显的东西。

有人有什么想法吗?如果您需要更多信息,请告诉我。

如果有帮助,我的 index.js 看起来像

(function () {
    // common app require statements
    require('blah')
    require('blah-2')
    angular.module('app', [require('angular-route')])
    // etc etc
})()

【问题讨论】:

    标签: javascript angularjs node.js npm browserify


    【解决方案1】:

    我想通了。 :) 如果我将目标添加到命令中所需文件路径的末尾,如下所示:

    "build:js": "browserify -r ./params-dev.js:params -e src/app/index.js -o build/index.js"
    

    我可以通过将var params = require('params') 添加到我的角度文件来访问该对象。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2014-06-16
      • 2020-02-14
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多