将js文件导入webpack应用程序js

时间:2018-03-06 19:30:22

标签: javascript ruby-on-rails ruby webpack

我有ruby项目,我添加了typescript和webpacker

我写过打字稿并制作rake assets:tsc。因此它将ts代码编译为js。

现在我欢迎.js在文件夹`app / assets / javascripts / generated / welcome.js

以下是welcome.js的代码

 var HelloWorld = /** @class */ (function () {
    function HelloWorld(name) {
        this.name = name;
    }
    HelloWorld.prototype.print = function () {
        alert("Hello World, " + this.name + "!");
    };
    return HelloWorld;
}());
new HelloWorld('John Doe').print();
//# sourceMappingURL=welcome.js.map

我需要将其导入到webpacker application.js中。我找不到任何教程如何在ruby on rails上执行此操作。

我怎么能解决这个问题?

更新

我试图在welcome.js

中写道
export default HelloWorld;

并在application.js写了import HelloWorld from 'generated'

在控制台中获取此内容

  

未捕获错误:找不到模块"生成"       在对象。 (的application.js:1)       在 webpack_require (bootstrap 24a076357adc3b41e79b:19)       at Object.defineProperty.value(bootstrap 24a076357adc3b41e79b:62)       在bootstrap 24a076357adc3b41e79b:62

1 个答案:

答案 0 :(得分:1)

application.js内有/app/javascripts/packs吗?如果是这样,你应该写:

import { HelloWorld } from 'generated/welcome'

位于application.js的顶部,然后您可以将其包含在您的布局中:

<%= javascript_pack_tag 'application' %>

我在JS类中使用这种语法:

export class HelloWorld { var HelloWorld = /** @class */ (function () { ...} }

虽然您可能需要不同的类/函数名称。