【问题标题】:Angular 2, sprintf in TypeScriptAngular 2,TypeScript 中的 sprintf
【发布时间】:2016-07-29 11:40:01
【问题描述】:

有人能告诉我在 Angular 2 Typescript 组件中使用完整的 sprintf 库(具有零填充和标准 sprintf 中通常存在的所有其他功能)需要执行的所有步骤吗?谢谢。

【问题讨论】:

  • 欢迎来到 StackOverflow。不鼓励给我一些代码问题或指出一些资源问题。请在您的问题中添加一些代码,以显示您尝试过的内容以及失败的地方。 google.at/… 在顶部指出一些可以帮助您入门的链接。
  • javascript 没有这样的标准

标签: typescript printf angular


【解决方案1】:

安装 sprintf-js

npm install sprintf-js --save

安装 TypeScript 定义

typings install dt~sprintf-js --global --save

在代码中导入和使用

import {sprintf} from "sprintf-js";

console.log(sprintf("%s %s!", "Hello", "Massimo"));

【讨论】:

  • 感谢您的回答。由于现在不推荐使用类型,也许您为此使用新方法更新您的答案?例如查看 headbozo 的答案:stackoverflow.com/a/45763578/1707258
【解决方案2】:

npm i sprintf-js --save

npm i --save_dev @types/sprintf-js

import {sprintf} from "sprintf-js";

【讨论】:

  • 应该是npm i --save-dev @types/sprintf-js吧?
【解决方案3】:

现在不推荐使用类型:

$ npm install --save @types/sprintf

然后在您的打字稿源中:

import { sprintf } from 'sprintf';

【讨论】:

  • 在离子中你需要写:"import {sprintf} from "sprintf-js";"
  • 我认为@types中的库名应该是一样的。所以它是npm install --save @types/sprintf-js
【解决方案4】:

使用 ionic2。

以上解决方案都不适合我。

但是,运行后:

npm install sprintf-js --save

npm install --save @types/sprintf

我可以在我的app.ts 文件中使用require('sprintf-js')

之后vsprintfsprintf 只要我添加就可以工作

declare var vsprintf:any;
declare var sprintf:any;

在使用它们的 ts 文件的顶部。

【讨论】:

    【解决方案5】:

    我回答我自己的问题。

    下载这个库: https://github.com/alexei/sprintf.js

    在 index.html 主文件的 head 标签内添加对 sprintf.js 文件的引用:

    <script src="assets/js/sprintf.js"></script>
    

    然后,在组件中,如下声明主 sprintf 函数,以便在您的代码中照常使用。

    declare var sprintf: any;
    
    console.log(sprintf("%s %s!", "Hello", "Massimo")); // output : Hello Massimo!  
    

    【讨论】:

    • 你会把declare var sprintf: any;放在哪里?
    • 您必须在使用它的组件中声明它,在导入下方的顶部
    • 这个答案通过使用any 完全绕过TypeScript,这应该是问题的要求。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多