我可以使用以下命令创建,编译和运行bucklescript项目
bsb -init new-project
cd new-project
npm run build
node ./src/demo.bs.js
但是,我想从嵌入在html文件中的脚本中使用生成的demo.bs.js
中的定义。生成的js包含对require
的调用,该调用在浏览器中不起作用。我可能会使用browserify或其他东西,但我想必须有一个正确的方法来设置一个针对Web应用程序的bucklescript项目,对吗?
答案 0 :(得分:1)
BuckleScript默认以commonjs格式(节点模块格式)输出JavaScript模块,但也可以配置为输出amdjs或es6模块。你从那里做的事完全取决于你。您可以使用browserify,汇总或包裹,但大多数人使用webpack。这是一个适合您的简单webpack配置:
const path = require('path');
module.exports = {
entry: './src/demo.bs.js',
output: {
path: path.join(__dirname, "public"),
filename: 'bundle.js',
},
};
将其放在项目根目录中的ẁebpack.config.js
中,然后运行:
npm install webpack
webpack
然后,您可以在html文件中加入./public/bundle.js
。
注意:如果您使用reason-react,react
模板会为您设置所有这些内容:
bsb -init new-project -theme react