【问题标题】:Durandal.js .NET VS2012 How to use Weyland in build processDurandal.js .NET VS2012 如何在构建过程中使用 Weyland
【发布时间】:2015-04-02 14:52:17
【问题描述】:

我使用的是 VSIX Durandal 模板(2.0 版)。以前的版本 (1.2) 有一个 optimizer.exe,它可以作为构建过程的一部分运行。我认为 Weyland 已经替换了它,但我不确定如何在发布模式下将它作为构建步骤运行。

【问题讨论】:

    标签: build-process durandal


    【解决方案1】:

    我是这样做的:

    if $(ConfigurationName) == Release (
      cd "$(ProjectDir)"
      attrib -R App\main-built.js
      weyland build
    )
    

    我喜欢清除只读标志,以防 main-built.js 被放入源代码控制中,但您可能不需要该行。

    注意:如果构建失败(或者您没有安装 node 和 weyland),请参阅以下页面了解更多信息:https://github.com/BlueSpire/Durandal/issues/254

    更新:

    要设置 npm 以使用经过身份验证的代理,请在提升的命令提示符下尝试这些命令(最后 2 个可能不是必需的,但对其他工具很有用):

    npm config set proxy http://username:password@proxy:8080 
    npm config set https-proxy http://username:password@proxy:8080
    setx http_proxy http://username:password@proxy:8080 /M
    setx https_proxy http://username:password@proxy:8080 /M
    

    然后重新启动 Visual Studio(或重新启动)。我认为有些人可能需要在网址中使用 https。如果用户名或密码包含@,则用这样的引号括起来:http://"username:p@assword"@proxy:8080

    【讨论】:

    • 我会将此标记为正确,因为我已阅读您答案中的链接并查看了其他链接,这些链接也暗示了类似的事情。不过,我实际上无法对此进行测试,因为虽然我有 node.js,但我似乎无法安装 Weyland (npm install -g weyland),因为我在公司代理后面。我已经尝试过stackoverflow.com/questions/11605621/… 中的建议,但这对我不起作用:(
    • 我也是一个企业代理,它是一个使用身份验证的代理,所以我做了以下所有操作(不确定哪一个有效):npm config set proxy username:password@proxy:8080 npm config set https代理username:password@proxy:8080设置http_proxy=username:password@proxy:8080设置https_proxy=username:password@proxy:8080
    • 当我这样做时,我收到错误:weyland 未被识别为内部或外部命令'。如果我直接指向 weyland,我会得到“节点未被识别为内部或外部命令”。知道为什么环境路径在构建后不起作用?
    • 万一其他人遇到这个问题,问题是 VS 和/或 MS Build 似乎缓存了环境变量。重启解决了这个问题。
    • 对于那些感兴趣的人,这里有一个链接,描述了如何在公司防火墙后面使用节点。但是,这仍然对我不起作用。 jjasonclark.com/how-to-setup-node-behind-web-proxy
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多