我有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
答案 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 () { ...} }
虽然您可能需要不同的类/函数名称。