我的test.fsx看起来像:
module Test
#r "./node_modules/fable-core/Fable.Core.dll"
open Fable.Core
open Fable.Import.Browser
type ItemCompletedData = {itemsCompleted:int}
type AddData = {text:string}
[<Pojo>]
type ActionData =
| ItemCompleted of ItemCompletedData
| Add of AddData
let test = (Add {text="hello world"})
console.log(test)
用以下内容编译:
node node_modules/fable-compiler/index.js --projFile test.fsx -o ./js/
webpack.config.js看起来像:
var path = require("path");
module.exports = {
entry: {
main: ["./js/test.js"]
},
output: {
path: path.resolve(__dirname, "build"),
publicPath: ".",
filename: "[name].js"
}
,devServer: {
contentBase: path.join(__dirname, "./"),
compress: true,
port: 9000
}
};
使用以下命令运行webpack:
node node_modules/webpack/bin/webpack.js --devtool source-map
这将给出警告:
警告在./~/.0.7.26@fable-core/umd/Symbol.js 3:24-31严重 依赖:require函数以依赖关系的方式使用 无法静态提取
>警告在./~/.0.7.26@fable-core/umd/Util.js 3:24-31严重 依赖:require函数以依赖关系的方式使用 无法静态提取
打开使用main.js的html文件时,我在控制台中收到错误:
Symbol.js:3 Uncaught Error: Cannot find module "."
symbol.js来自fable-core/umd/Symbol
(在寓言生成的脚本中)。当我手动将其更改为:fable-core/Symbol
(对于所有fable-core依赖项)时,我可以在没有警告的情况下进行webpack编译,并且不会在页面中出现错误。
如何在不必手动更改寓言输出的情况下防止此错误?
答案 0 :(得分:0)
在撰写此问题时,我正在完成这些步骤并尝试将parallel gzip -k ::: /Sandbox/tmp/logs/*
添加到fable编译器命令中。
这就是解决方案。
既然fable代码可以加载我只需要解决joc代码创建的暴乱生成的问题。我需要在设置riot.mixin后加载标签,所以我在嵌套的requiejs umd语句中加载它们(可能会导致错误)。
-m es2015